.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:.25px solid rgba(var(--vsg-purple-rgb),.2)}.modal-title{font-family:var(--font-primary);color:var(--vsg-purple);font-size:24px;font-weight:300;letter-spacing:1px;margin:0}.modal-content{flex:1;overflow-y:auto;padding:24px 0;width:auto!important;max-width:none!important}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#0000004d;border-radius:4px}.modal-content::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.3);border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.5)}.modal-footer{display:flex;justify-content:flex-end;padding:24px;border-top:.25px solid rgba(var(--vsg-purple-rgb),.2)}.form-actions{display:flex;gap:12px;justify-content:flex-end}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--border-color, rgba(var(--vsg-purple-rgb), .2))}.modal-header h3{margin:0;font-size:1.2rem;font-weight:400;color:var(--text-primary, rgba(255, 255, 255, .88))}.modal-body{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.modal-description{margin:0;font-size:.9rem;color:var(--text-secondary, rgba(255, 255, 255, .63));line-height:1.5}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid var(--border-color, rgba(var(--vsg-purple-rgb), .2))}.modal-content{background:transparent;border:1px solid var(--border-color, rgba(var(--vsg-purple-rgb), .2));border-radius:8px;padding:2rem;max-width:500px;width:90%}.form-actions{display:flex;flex-direction:column!important;align-items:center;gap:10px;margin-top:15px}.modal-body{flex:1;overflow-y:auto;padding:1rem;background:#0000004d}.modal-body:has(.creation-wizard){padding:0;overflow:hidden}.modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1.5rem}.modal-loading p{color:#fffc;font-size:1.2rem}.modal-body::-webkit-scrollbar{width:12px}.modal-body::-webkit-scrollbar-track{background:#0000004d;border-radius:6px}.modal-body::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.4);border-radius:6px}.modal-body::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.6)}.form-actions{display:flex!important;justify-content:center!important;align-items:center!important;flex-direction:column!important;gap:20px;margin-top:40px;width:100%}.modal-header{padding:30px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);text-align:center}.modal-header h2{margin:0;font-family:var(--font-primary);font-size:28px;color:var(--vsg-purple);letter-spacing:1px;text-shadow:-1px -1px 0 #000000,1px -1px 0 #000000,-1px 1px 0 #000000,1px 1px 0 #000000,0 0 20px rgba(var(--vsg-purple-rgb),.5)}.modal-content{padding:30px}.modal-description{font-family:var(--font-primary);font-size:16px;color:#fffc;line-height:1.6;text-align:center;margin:0 0 25px;letter-spacing:.5px}.modal-footer{padding:20px 30px 30px;display:flex;justify-content:center;gap:20px}.modal-footer button{min-width:120px}.modal-header{padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-error-rgb),.2);background:linear-gradient(180deg,rgba(var(--vsg-error-rgb),.1) 0%,transparent 100%)}.modal-header h2{margin:0;color:#fff;font-size:1.25rem;font-weight:400}.modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;gap:16px;color:#ffffffb3}.modal-content{padding:24px;min-height:200px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid rgba(var(--vsg-error-rgb),.2);background:rgba(var(--vsg-surface-rgb),.5)}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:12px;padding-top:12px;border-top:1px solid rgba(var(--vsg-purple-rgb),.1)}.modal-content{background:transparent;border:2px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;width:90%;max-width:600px;max-height:calc(85 * var(--vh-fit));overflow:hidden;display:flex;flex-direction:column;box-shadow:0 10px 40px rgba(var(--vsg-purple-rgb),.2);animation:slideUp .3s ease}.modal-header{padding:1.5rem;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);display:flex;align-items:center;justify-content:space-between;background:linear-gradient(90deg,rgba(var(--vsg-purple-rgb),.1),rgba(var(--vsg-purple-rgb),.08))}.modal-header h2{margin:0;font-family:var(--font-primary);font-size:1.5rem;color:var(--vsg-purple);text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5)}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.modal-footer{padding:1.5rem;border-top:1px solid rgba(var(--vsg-purple-rgb),.2);display:flex;gap:1rem;justify-content:space-between;background:linear-gradient(90deg,rgba(var(--vsg-purple-rgb),.05),rgba(var(--vsg-purple-rgb),.05))}.form-actions{display:flex;flex-direction:column!important;align-items:center;gap:1rem}.form-actions{display:flex;gap:8px;justify-content:flex-end}.modal-content{background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;max-width:600px;width:100%;max-height:calc(80 * var(--vh-fit));overflow-y:auto;box-shadow:0 20px 60px #00000080}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.modal-header h3{margin:0;font-size:1.1rem;font-weight:400;color:var(--vsg-purple)}.modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.modal-body .form-group{display:flex;flex-direction:column;gap:.5rem}.modal-body .form-group label{font-family:var(--font-primary);font-size:.85rem;font-weight:400;color:var(--vsg-purple);text-transform:uppercase;letter-spacing:.5px}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:.5rem;border-top:1px solid rgba(var(--vsg-purple-rgb),.2)}.form-actions{display:flex;flex-direction:column;align-items:stretch;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid rgba(var(--vsg-purple-rgb),.3)}.modal-dialog{position:relative;background:transparent;border-radius:12px;width:90%;max-height:calc(90 * var(--vh-fit));overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3);border:1px solid rgba(var(--vsg-purple-rgb),.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-dialog--form{max-width:500px}.modal-dialog--list{max-width:600px}.modal-dialog--wide{max-width:900px}.modal-footer-slot{display:contents}.modal-footer--has-leading .modal-footer-centre>:first-child,.modal-footer--has-leading .modal-footer-trailing>:first-child,.modal-footer--has-centre .modal-footer-trailing>:first-child{margin-inline-start:auto}.form-group{animation:fadeInUp .4s ease-out backwards;display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem;position:relative}.form-group input{background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;box-sizing:border-box;color:#fff;font-family:inherit;font-size:.95rem;outline:none;padding:.75rem;resize:vertical;transition:all .2s ease;width:100%}.form-group input::placeholder{color:#fff6}.form-group input:focus{background:rgba(var(--vsg-purple-rgb),.1);border-color:var(--vsg-purple);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.2);outline:none}.form-group label{color:var(--vsg-purple);display:block;font-family:var(--font-primary);font-size:.95rem;font-weight:400;letter-spacing:1px;margin-bottom:.75rem;text-transform:uppercase}.form-group select{background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:#fff;cursor:pointer;font-family:inherit;font-size:.95rem;padding:.75rem 3rem .75rem .75rem;transition:all .2s ease;width:100%}.form-group select:focus{background:rgba(var(--vsg-purple-rgb),.1);border-color:var(--vsg-purple);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.2);outline:none}.form-group textarea{background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;box-sizing:border-box;color:#fff;font-family:inherit;font-size:.95rem;min-height:80px;outline:none;padding:.75rem;resize:vertical;transition:all .2s ease;width:100%}.form-group textarea::placeholder{color:#fff6}.form-group textarea:focus{background:rgba(var(--vsg-purple-rgb),.1);border-color:var(--vsg-purple);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.2);outline:none}.form-group:last-child{margin-bottom:0}.form-group:nth-child(1){animation-delay:.1s}.form-group:nth-child(2){animation-delay:.2s}.form-group:nth-child(3){animation-delay:.3s}.form-hint{color:#ffffff80;font-size:.8rem;margin:0;margin-top:.25rem;padding-left:0}.form-hint.error{color:var(--vsg-error)}.form-hint.warning{color:var(--vsg-gold)}.form-input{background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:#ffffffe6;font-family:inherit;font-size:.95rem;letter-spacing:.3px;margin-bottom:1rem;outline:none;padding:.875rem 1rem;transition:all .3s;width:100%}.form-input.code{font-family:var(--font-primary);font-size:.85rem}.form-input.disabled{background-color:#ffffff0f!important;border-color:rgba(var(--vsg-purple-rgb),.1)!important;color:#fff6!important;cursor:not-allowed!important}.form-input.input-error{border-color:var(--vsg-error)}.form-input.readonly{background:rgba(var(--vsg-purple-rgb),.02);color:rgba(var(--vsg-purple-rgb),.7);cursor:not-allowed}.form-input::placeholder{color:#fff6}.form-input:disabled{cursor:not-allowed;opacity:.6}.form-input:focus{background:#0009;border-color:var(--vsg-purple);box-shadow:0 0 0 3px rgba(var(--vsg-purple-rgb),.1);outline:none}.form-label{color:var(--vsg-purple);display:block;font-family:var(--font-primary);font-size:15px;font-weight:400;letter-spacing:.5px;margin-bottom:12px}.form-row{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:10px}.form-row label{align-items:center;color:#fff;display:flex;gap:10px}.form-row.compact{gap:.5rem}.form-row.triple{align-items:end;display:grid;gap:1rem;grid-template-columns:1fr auto 1fr}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:rgba(var(--vsg-purple-rgb),.05);background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23CD43FF' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;color:#ffffffe6;cursor:pointer;font-family:var(--font-primary);font-size:.95rem;letter-spacing:.3px;margin-bottom:1rem;outline:none;padding:10px 40px 10px 12px;transition:all .3s ease;width:100%}.form-select option{background:var(--vsg-surface);color:#fff;padding:8px}.form-select:disabled{background-color:rgba(var(--vsg-purple-rgb),.02);cursor:not-allowed;opacity:.5}.form-select:focus{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.2)}.form-textarea{background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:#ffffffe6;font-family:inherit;font-size:.95rem;letter-spacing:.3px;line-height:1.5;margin-bottom:1rem;min-height:100px;outline:none;padding:.875rem 1rem;resize:vertical;transition:all .3s;width:100%}.form-textarea.code{font-family:var(--font-primary);font-size:.85rem}.form-textarea::placeholder{color:#fff6}.form-textarea:disabled{cursor:not-allowed;opacity:.6}.form-textarea:focus{background:#0009;border-color:var(--vsg-purple);box-shadow:0 0 0 3px rgba(var(--vsg-purple-rgb),.1);outline:none}@media (max-width:600px){.form-label{font-size:14px}}.empty-hint{color:#fff6;font-size:.85rem;font-style:normal;margin:0}.empty-icon{font-size:48px;margin-bottom:8px;opacity:.6}.empty-message{color:rgba(var(--vsg-purple-rgb),.6);font-family:var(--font-primary);font-size:.8rem;font-style:normal;font-weight:400;letter-spacing:.5px;margin:0;padding:1rem;text-align:center}.empty-state{align-items:center;color:#ffffff80;display:flex;flex-direction:column;font-family:var(--font-primary);font-size:16px;gap:16px;justify-content:center;letter-spacing:.5px;min-height:300px;padding:3rem 2rem;text-align:center;width:100%}.empty-state h3{color:var(--vsg-purple);font-family:var(--font-primary);font-size:18px;margin:0;text-align:center}.empty-state p{color:rgba(var(--vsg-purple-rgb),.7);font-family:var(--font-primary);font-size:14px;line-height:1.6;margin:.5rem 0;margin-bottom:20px;max-width:400px;text-align:center}.empty-state p:first-child{color:rgba(var(--vsg-purple-rgb),.8);font-family:var(--font-primary);font-size:16px}.empty-state-card{align-items:center;animation:fadeInUp .6s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c;border:.25px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;display:flex;grid-column:1 / -1;justify-content:center;margin-top:80px;min-height:160px;padding:32px 40px;text-align:center;transition:all .3s ease}.empty-state-card:hover{border-color:rgba(var(--vsg-purple-rgb),.3);box-shadow:0 10px 30px rgba(var(--vsg-purple-rgb),.1)}.empty-state-content{align-items:center;display:flex;flex-direction:column;gap:16px;text-align:center;width:100%}.empty-state-content h3{color:var(--vsg-purple);font-family:var(--font-primary);font-size:28px;font-weight:300;letter-spacing:1px;margin:0 0 20px}.empty-state-text{font-size:.9rem;margin-bottom:1.5rem}.empty-state-title{color:rgba(var(--vsg-purple-rgb),.7);font-family:var(--font-primary);margin-bottom:.5rem}.error-icon{font-size:1.2rem;margin:0}.error-message{align-items:center;animation:fadeIn .3s ease;background:rgba(var(--vsg-magenta-rgb),.15);border:1px solid rgba(var(--vsg-magenta-rgb),.3);border-radius:8px;color:var(--vsg-error);display:flex;font-size:14px;justify-content:space-between;margin:16px 0;margin-bottom:1.5rem;padding:14px 18px;text-align:center}.error-message button{align-items:center;background:none;border:none;color:var(--vsg-error);cursor:pointer;display:flex;font-size:1.2rem;height:24px;justify-content:center;padding:0;transition:opacity .2s;width:24px}.error-message button:hover{opacity:.7}.loading-container{align-items:center;color:rgba(var(--vsg-purple-rgb),.6);display:flex;font-size:16px;font-style:normal;justify-content:center;min-height:200px}.loading-state{align-items:center;color:#fff9;display:flex;flex:1;flex-direction:column;font-family:var(--font-primary);font-size:16px;justify-content:center;letter-spacing:.5px;padding:60px 20px;text-align:center}.archives-error{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:300px;padding:60px 20px;text-align:center}.archives-error p{color:var(--vsg-magenta)}.archives-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:300px;padding:60px 20px;text-align:center}.archives-loading p{color:rgba(var(--vsg-purple-rgb),.8);font-family:var(--font-primary);margin-top:16px}.epic-error{background:rgba(var(--vsg-error-rgb),.1);border:1px solid rgba(var(--vsg-error-rgb),.3);border-radius:8px;color:rgba(var(--vsg-error-rgb),.8);font-size:.9rem;margin-top:16px;padding:40px 20px;text-align:center}.epic-error p{font-family:var(--font-primary);font-size:14px;margin:0}.history-empty{color:#ffffff80;font-style:normal;padding:3rem;text-align:center}.history-empty small{color:#fff6;display:block;font-size:.85rem;margin-top:.75rem}.history-loading{align-items:center;display:flex;flex-direction:column;gap:1.5rem;justify-content:center;padding:3rem;text-align:center}.history-loading p{color:rgba(var(--vsg-purple-rgb),.8);font-family:var(--font-primary);font-size:1rem;margin-top:16px}.history-title{color:var(--vsg-purple);font-family:var(--font-primary);font-size:.85rem;font-weight:400;letter-spacing:1px;margin:0;text-transform:uppercase}.sheets-error{align-items:center;color:var(--vsg-error);display:flex;flex-direction:column;font-family:var(--font-primary);justify-content:center;min-height:300px;padding:60px 20px;text-align:center}.sheets-error p{color:var(--vsg-magenta);margin-top:16px}.sheets-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:300px;padding:60px 20px;text-align:center}.sheets-loading p{color:rgba(var(--vsg-purple-rgb),.7);margin-top:16px}.timeline-empty{align-items:center;color:#ffffff80;display:flex;font-size:14px;justify-content:center;min-height:200px}.timeline-header{align-items:center;border-bottom:1px solid var(--border-color, rgba(var(--vsg-purple-rgb), .15));display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:.75rem}.timeline-header .close-btn{background:none;border:none;color:var(--text-secondary, rgba(255, 255, 255, .53));cursor:pointer;font-size:1.5rem;line-height:1;padding:0 .5rem}.timeline-header .close-btn:hover{color:var(--text-primary, #fff)}.timeline-header h3{color:var(--text-primary, #fff);font-size:1.1rem;margin:0}.timeline-loading{align-items:center;color:#ffffff80;display:flex;font-size:14px;justify-content:center;min-height:200px}.metadata-label{color:#fff6;flex-shrink:0;font-family:var(--font-primary);font-size:10px;font-weight:400;letter-spacing:.5px;min-width:100px;text-transform:uppercase}.metadata-row{align-items:baseline;display:flex;font-size:13px;gap:8px;justify-content:space-between;margin-bottom:8px;min-width:0}.metadata-row.full-width{flex-direction:column;gap:6px}.metadata-row:last-child{margin-bottom:0}.metadata-value{color:var(--vsg-purple);flex:1;font-size:13px;font-weight:400;line-height:1.4;min-width:0;overflow-wrap:break-word;word-break:break-word}.metadata-value.rarity-artifact{color:var(--rarity-artifact);text-shadow:0 0 10px color-mix(in srgb,var(--rarity-artifact) 50%,transparent)}.metadata-value.rarity-epic{color:var(--rarity-epic)}.metadata-value.rarity-legendary{color:var(--rarity-legendary);text-shadow:0 0 8px color-mix(in srgb,var(--rarity-legendary) 40%,transparent)}.metadata-value.rarity-magic{color:var(--rarity-magic)}.metadata-value.rarity-mastercraft{color:var(--rarity-mastercraft)}.metadata-value.rarity-normal{color:var(--rarity-normal)}.metadata-value.status-active,.metadata-value.status-alive{color:var(--vsg-success)}.metadata-value.status-deceased{color:#fff6}.metadata-value.status-defunct{color:var(--vsg-error)}.metadata-value.status-immortal{color:var(--vsg-purple);text-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.3)}.metadata-value.status-legendary{color:var(--vsg-gold);text-shadow:0 0 10px rgba(var(--vsg-gold-rgb),.3)}.metadata-value.status-reformed{color:var(--vsg-gold)}.metadata-value.status-unknown{color:#ffffff80}.metadata-value.threat-boss{color:var(--vsg-purple)}.metadata-value.threat-elite{color:var(--vsg-info)}.metadata-value.threat-legendary{color:var(--vsg-error);text-shadow:0 0 10px rgba(var(--vsg-error-rgb),.5)}.metadata-value.threat-minion{color:#fff6}.metadata-value.threat-standard{color:#fff9}.detail-content{display:flex;flex:1;flex-direction:column;gap:20px;overflow-x:hidden;overflow-y:auto;padding:24px}.detail-content::-webkit-scrollbar{width:8px}.detail-content::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.2);border-radius:4px}.detail-content::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.3)}.detail-content::-webkit-scrollbar-track{background:#0000004d;border-radius:4px}.detail-description{background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.1);border-radius:8px;margin-bottom:24px;margin-top:8px;padding:16px}.detail-description h4{color:var(--vsg-purple);font-family:var(--font-primary);font-size:14px;margin:0 0 8px}.detail-description p{color:#ffffffb3;font-size:13px;line-height:1.6;margin:8px 0 0}.detail-header{align-items:center;background:#0000004d;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);display:flex;gap:12px;justify-content:space-between;margin-bottom:16px;padding:20px 24px 16px}.detail-header .close-button{align-items:center;background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:var(--vsg-purple);cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;transition:all .2s ease;width:32px}.detail-header .close-button:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.5)}.detail-header .member-name{color:#ffffffe6;font-size:16px;font-weight:400}.detail-header h2{color:var(--vsg-purple);font-family:var(--font-primary);font-size:22px;margin:0}.detail-header h3{color:var(--vsg-purple);flex:1;font-family:var(--font-primary);font-size:18px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-source{background:rgba(var(--vsg-purple-rgb),.08);border-left:3px solid rgba(var(--vsg-purple-rgb),.4);border-radius:6px;border-top:1px solid rgba(var(--vsg-purple-rgb),.1);color:rgba(var(--vsg-purple-rgb),.7);display:flex;font-size:12px;gap:8px;margin-bottom:16px;padding:16px 12px 8px}.detail-value{color:#ffffffe6;font-size:14px;font-weight:400}.detail-value.severity-block{color:var(--vsg-magenta);font-weight:400}.detail-value.severity-warn{color:var(--vsg-gold);font-weight:400}.progress-bar{background:linear-gradient(90deg,rgba(var(--vsg-purple-rgb),.8),var(--vsg-purple));border-radius:7px;box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.3);height:14px;margin-bottom:12px;min-width:4px;overflow:hidden;transition:width .5s ease;width:100%}.progress-label{color:var(--vsg-purple);font-family:var(--font-primary);font-size:13px;font-weight:400;transition:color .3s ease}.progress-label.active{color:var(--vsg-purple);font-weight:400}.progress-label.completed{color:var(--vsg-success)}.progress-step{align-items:center;color:rgba(var(--vsg-purple-rgb),.4);cursor:pointer;display:flex;font-family:var(--font-primary);font-size:14px;gap:.5rem;letter-spacing:.5px;padding-bottom:10px;position:relative;transition:all .3s ease}.progress-step.active{color:var(--vsg-purple);font-weight:400}.progress-step.clickable:hover{color:rgba(var(--vsg-purple-rgb),.7)}.step-actions{align-items:center;border-top:1px solid rgba(var(--vsg-purple-rgb),.2);display:flex;flex-direction:column!important;flex-shrink:0;gap:.25rem;margin-top:2rem;padding-top:2rem}.step-actions button{width:200px}.step-content{display:flex;flex:1;flex-direction:column;gap:1rem;min-width:0}.step-content h4{color:var(--vsg-purple);font-size:16px;font-weight:400;margin-bottom:8px;margin-top:0}.step-content li{margin:6px 0}.step-content ol{color:#ffffffb3;margin:12px 0;padding-left:20px}.step-content p{color:#fffc;line-height:1.5;margin:8px 0}.step-description{color:#fff9;font-family:var(--font-primary);font-size:.85rem;line-height:1.6;margin:.5rem 0;max-width:600px;white-space:nowrap}.step-dot{align-items:center;background:rgba(var(--vsg-purple-rgb),.2);border:2px solid rgba(var(--vsg-purple-rgb),.3);border-radius:50%;color:rgba(var(--vsg-purple-rgb),.5);display:flex;font-size:12px;font-weight:400;height:8px;justify-content:center;transition:all .2s ease;width:8px}.step-dot.active{background:var(--vsg-purple);border-color:var(--vsg-purple);box-shadow:0 0 8px rgba(var(--vsg-purple-rgb),.4);color:var(--vsg-purple)}.step-dot.completed{background:rgba(var(--vsg-purple-rgb),.5);border-color:var(--vsg-purple);color:#fff}.step-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.5rem}.step-header h3{color:#fffffff2;font-family:var(--font-primary);font-size:1.3rem;margin:0 0 .5rem}.step-number{align-items:center;background:linear-gradient(135deg,var(--vsg-purple),rgba(var(--vsg-purple-rgb),.64));border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.65rem;font-weight:400;height:32px;justify-content:center;margin-right:16px;width:32px}.wizard-field.field-inactive{opacity:.35;pointer-events:none}.wizard-field.roll-and-assign{background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.1),rgba(var(--vsg-purple-rgb),.05));border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;padding:.75rem}.wizard-field.roll-and-assign.has-roll-assigned{background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.1),rgba(var(--vsg-purple-rgb),.05));border-color:rgba(var(--vsg-purple-rgb),.4)}.wizard-field.roll-and-assign.waiting-for-roll{background:linear-gradient(135deg,rgba(var(--vsg-gold-rgb),.1),rgba(var(--vsg-gold-rgb),.05));border-color:rgba(var(--vsg-gold-rgb),.4)}.wizard-field.waiting-for-roll .roll-display-value.unassigned{border-color:rgba(var(--vsg-gold-rgb),.3);color:rgba(var(--vsg-gold-rgb),.85)}.wizard-progress{align-items:center;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);display:flex;flex-direction:column;gap:8px;justify-content:center;margin-bottom:2rem;max-width:400px;padding-bottom:1rem;width:100%}.section-header{align-items:center;background:rgba(var(--vsg-purple-rgb),.1);border-bottom:1px solid rgba(var(--vsg-purple-rgb),.3);color:var(--vsg-purple);display:flex;font-family:var(--font-primary);font-size:14px;font-weight:400;gap:.75rem;justify-content:space-between;letter-spacing:1px;margin:0 0 12px;padding:1rem;text-transform:uppercase;width:100%}.section-header h3{color:var(--text-primary, rgba(255, 255, 255, .88));font-size:1.3rem;font-weight:400;margin:0}.section-item{align-items:center;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-bottom:none;border-radius:4px;display:flex;flex-direction:row!important;flex-wrap:nowrap;font-size:12px;justify-content:space-between;padding:1rem 1.25rem;text-align:left;transition:all .2s ease}.section-item.duplicate{background:rgba(var(--vsg-caution-rgb),.1);border-color:rgba(var(--vsg-caution-rgb),.4)}.section-item.duplicate .section-item-index{color:rgba(var(--vsg-caution-rgb),.8)}.section-item.duplicate .stat-badge{background:rgba(var(--vsg-caution-rgb),.1);border-color:rgba(var(--vsg-caution-rgb),.3);color:rgba(var(--vsg-caution-rgb),.9)}.section-item.duplicate:hover{background:rgba(var(--vsg-caution-rgb),.15);border-color:rgba(var(--vsg-caution-rgb),.6)}.section-item:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.section-item:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.4);z-index:1}.section-item:last-of-type{border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);border-bottom-left-radius:8px;border-bottom-right-radius:8px}.section-title{align-items:center;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);color:var(--vsg-purple);display:flex;font-family:var(--font-primary);font-size:11px;font-weight:400;gap:8px;letter-spacing:1.5px;margin:0 0 12px;padding-bottom:.5rem;text-transform:uppercase}.section-title.threads-introduced{color:rgba(var(--vsg-success-rgb),.77)}.section-title.threads-ongoing{color:var(--vsg-gold)}.section-title.threads-resolved{color:#fff6}.section-toggle{align-items:center;background:none;border:none;color:rgba(var(--vsg-purple-rgb),.7);cursor:pointer;display:flex;font-size:14px;justify-content:center;padding:.25rem;transition:color .2s}.section-toggle:hover{color:var(--vsg-purple)}.settings-section{margin-bottom:60px}.settings-section:last-child{margin-bottom:0}@media (max-width:600px){.section-header{flex-wrap:wrap;padding:.75rem 1rem}.section-header h3{font-size:1.1rem}}.config-input{background:var(--bg-tertiary, var(--vsg-surface));border:1px solid var(--border-color, rgba(var(--vsg-purple-rgb), .2));border-radius:4px;color:var(--text-primary, rgba(255, 255, 255, .88));font-family:inherit;font-size:.85rem;font-weight:400;outline:none;padding:.5rem .65rem;text-align:center;transition:border-color .2s;width:100%}.config-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.config-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.config-input:focus{background:#000000d9;border-color:var(--vsg-purple);box-shadow:0 0 0 2px rgba(var(--vsg-purple-rgb),.2);outline:none}.config-input[type=number]{-moz-appearance:textfield}.field-checkbox{align-items:center;color:var(--vsg-purple);display:flex;font-size:.75rem;font-weight:400;height:16px;justify-content:center;width:16px}.field-checkbox.disabled{cursor:not-allowed;opacity:.4}.field-checkbox:hover:not(.disabled){background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.3)}.field-container{display:flex;flex-direction:column;gap:.35rem;grid-column:1 / -1}.field-container.full-width{grid-column:1 / -1}.field-container.has-error .field-input,.field-container.has-error input,.field-container.has-error select,.field-container.has-error textarea{border-color:var(--vsg-error)}.field-container.has-warning .field-input,.field-container.has-warning input,.field-container.has-warning select,.field-container.has-warning textarea{border-color:var(--vsg-caution)}.field-container.horizontal.simple-field,.field-container.horizontal.simple-field .field-renderer{display:contents}.field-container.horizontal.simple-field .text-input{width:100%}.field-container.horizontal:not(.simple-field){align-items:center;flex-direction:row;gap:1rem;grid-column:1 / -1}.field-container.is-locked{opacity:.6;pointer-events:none}.field-container.vertical{flex-direction:column;grid-column:1 / -1}.field-label{align-items:center;color:var(--text-primary, rgba(255, 255, 255, .88));display:flex;flex:1;flex-shrink:0;font-size:.9rem;font-weight:400;gap:.4rem;min-width:150px}@media (max-width:600px){.config-input{width:50px}.field-label{min-width:unset}}.canon-badge{border-radius:20px;display:inline-block;font-family:var(--font-primary);font-size:10px;letter-spacing:1px;padding:2px 8px;text-transform:uppercase}.channel-header{align-items:center;display:flex;gap:12px}.channel-item{align-items:flex-start;background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:8px;cursor:pointer;display:flex;gap:12px;margin-bottom:8px;padding:12px;transition:all .2s ease}.channel-item.indented{margin-left:32px}.channel-item.selected{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.4)}.channel-item:hover{background:#ffffff0d;border-color:rgba(var(--vsg-purple-rgb),.3)}.channel-toggle{align-items:center;display:flex}.channels-list{flex:1;margin:0 24px;min-height:0;overflow-y:auto;padding-right:8px}.channels-list::-webkit-scrollbar{width:8px}.channels-list::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.3);border-radius:4px}.channels-list::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.5)}.channels-list::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.character-tag{background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:20px;color:rgba(var(--vsg-purple-rgb),.8);font-family:var(--font-primary);font-size:11px;padding:5px 14px}.character-tag.antagonist{background:rgba(var(--vsg-magenta-rgb),.1);border-color:rgba(var(--vsg-magenta-rgb),.2);color:var(--vsg-error)}.character-tag:hover{background:rgba(var(--vsg-purple-rgb),.15);border-color:rgba(var(--vsg-purple-rgb),.35)}.game-name{color:#fffffff2;font-family:var(--font-primary);font-size:20px;font-weight:300;letter-spacing:.5px;margin:0;max-width:60%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-name{color:var(--vsg-purple);font-family:var(--font-primary);font-size:.95rem;font-weight:400;margin:0}.herodotus-modal-content{animation:slideUp .3s ease;background:transparent;border:2px solid var(--vsg-purple);border-radius:12px;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3);display:flex;flex-direction:column;font-family:var(--font-primary);max-height:calc(85 * var(--vh-fit));width:90%}.herodotus-modal-content.ooc-modal{max-width:900px}.herodotus-modal-header{align-items:center;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.3);display:flex;justify-content:space-between;padding:24px}.herodotus-modal-header.ooc-header{background:transparent}.herodotus-tag{border-radius:16px;display:inline-block;font-size:13px;font-weight:400;padding:6px 12px}.herodotus-tag.character-tag.clickable:hover{background:rgba(var(--vsg-purple-rgb),.3);border-color:rgba(var(--vsg-purple-rgb),.6);color:#fffffff2}.herodotus-tag.clickable{cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.herodotus-tag.clickable:active{transform:translateY(0)}.herodotus-tag.clickable:hover{box-shadow:0 4px 8px #0000004d;transform:translateY(-2px)}.herodotus-tag.npc-tag.clickable:hover{background:rgba(var(--vsg-purple-rgb),.3);border-color:rgba(var(--vsg-purple-rgb),.6);color:rgba(var(--vsg-purple-rgb),1)}.herodotus-tag.pc-tag.clickable:hover{background:rgba(var(--vsg-magenta-rgb),.3);border-color:rgba(var(--vsg-magenta-rgb),.6);color:rgba(var(--vsg-magenta-rgb),1)}.location-tag{background:rgba(var(--vsg-info-rgb),.1);border:1px solid rgba(var(--vsg-info-rgb),.2);color:var(--vsg-info)}.location-tag:hover{background:rgba(var(--vsg-info-rgb),.15);border-color:rgba(var(--vsg-info-rgb),.35)}.message-content{background:rgba(var(--vsg-surface-rgb),.85);border-radius:12px;color:#ffffffe6;font-size:14px;padding:.75rem 1rem;white-space:pre-wrap;word-break:normal;word-wrap:break-word}.message-content .markdown-code-block{background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;box-sizing:border-box;margin:8px 0;max-width:100%;overflow-wrap:normal;overflow-x:auto;padding:12px 16px;word-wrap:normal}.message-content .markdown-code-block code{color:#ffffffe0;display:block;font-family:var(--font-primary);font-size:.85em;overflow-wrap:normal;white-space:pre;word-wrap:normal}.message-content .markdown-code-block::-webkit-scrollbar{height:8px}.message-content .markdown-code-block::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.3);border-radius:4px}.message-content .markdown-code-block::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.5)}.message-content .markdown-code-block::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.message-content .markdown-h4{color:var(--vsg-purple);font-size:1.1em;font-weight:400;margin:12px 0 6px}.message-content .markdown-h5{color:var(--vsg-purple);font-size:1em;font-weight:400;margin:12px 0 6px}.message-content .markdown-inline-code{background:rgba(var(--vsg-purple-rgb),.15);border-radius:4px;color:#fffc;font-family:var(--font-primary);font-size:.9em;padding:.15em .4em}.message-content .markdown-li{line-height:1.5;margin:4px 0}.message-content .markdown-p{margin:8px 0}.message-content .markdown-ul{list-style-type:disc;margin:8px 0;padding-left:20px}.message-content em{color:#ffffffe6;font-style:normal}.message-content h4{color:var(--vsg-purple);font-size:1.1em;font-weight:400;margin:12px 0 6px}.message-content h5{color:var(--vsg-purple);font-size:1em;font-weight:400;margin:12px 0 6px}.message-content li{line-height:1.5;margin:4px 0}.message-content p{margin:8px 0}.message-content strong{color:#fffc;font-weight:400}.message-content ul{list-style-type:disc;margin:8px 0;padding-left:20px}.message-time{color:#fff6;margin-left:8px;margin-top:4px;text-align:right}.npc-tag{background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.2);color:rgba(var(--vsg-purple-rgb),.9)}.npc-tag:hover{background:rgba(var(--vsg-purple-rgb),.15);border-color:rgba(var(--vsg-purple-rgb),.35)}.pc-tag{background:rgba(var(--vsg-magenta-rgb),.1);border:1px solid rgba(var(--vsg-magenta-rgb),.2);color:rgba(var(--vsg-magenta-rgb),.8);position:relative}.pc-tag.mvp-tag .mvp-badge-overlay{background:var(--vsg-gold);border-radius:4px;box-shadow:0 2px 4px #0006;color:var(--vsg-surface);font-size:9px;font-weight:400;letter-spacing:.5px;line-height:1;padding:2px 4px;pointer-events:none;position:absolute;right:-6px;text-transform:uppercase;top:-6px}.pc-tag:hover{background:rgba(var(--vsg-magenta-rgb),.15);border-color:rgba(var(--vsg-magenta-rgb),.35)}.player-label{color:#fff;font-family:var(--font-primary);font-size:14px}.post-author{font-weight:400}.post-author.character-author{align-items:center;display:flex;gap:4px}.scope-badge{border-radius:20px;display:inline-block;font-family:var(--font-primary);font-size:10px;font-weight:400;letter-spacing:.5px;padding:5px 12px;text-transform:uppercase}.scope-badge.scope-local{background:rgba(var(--vsg-purple-rgb),.12);border:1px solid rgba(var(--vsg-purple-rgb),.3);color:rgba(var(--vsg-purple-rgb),.9)}.scope-badge.scope-national{background:rgba(var(--vsg-info-rgb),.12);border:1px solid rgba(var(--vsg-info-rgb),.3);color:var(--vsg-info)}.scope-badge.scope-world{background:rgba(var(--vsg-gold-rgb),.12);border:1px solid rgba(var(--vsg-gold-rgb),.3);color:var(--vsg-gold)}.source-game-badge{background:rgba(var(--vsg-purple-rgb),.15);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;color:var(--vsg-purple);display:inline-block;font-size:11px;font-weight:400;max-width:120px;overflow:hidden;padding:4px 10px;text-overflow:ellipsis;white-space:nowrap}.source-game-badge:hover{background:rgba(var(--vsg-purple-rgb),.25);border-color:rgba(var(--vsg-purple-rgb),.5)}.tag{background:rgba(var(--vsg-purple-rgb),.15);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:20px;color:rgba(var(--vsg-purple-rgb),.9);font-family:var(--font-primary);font-size:11px;letter-spacing:.5px;padding:5px 14px;transition:all .2s ease}.tag.clickable{cursor:pointer}.tag.clickable:hover{box-shadow:0 2px 8px #0000004d;transform:translateY(-1px)}.tag:hover{background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.4);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.2)}.user-name{color:#fff;font-family:var(--font-primary);font-size:18px;font-weight:400;letter-spacing:.5px;margin-bottom:2px}.custom-dropdown{position:relative;width:100%}.custom-dropdown.disabled .custom-dropdown-trigger{cursor:not-allowed;opacity:.5}.custom-dropdown.field-input{display:contents!important}.custom-dropdown.field-input .custom-dropdown-arrow{color:#fff6!important;margin-left:.5rem}.custom-dropdown.field-input .custom-dropdown-arrow svg{height:14px!important;width:14px!important}.custom-dropdown.field-input .custom-dropdown-menu{border-radius:6px}.custom-dropdown.field-input .custom-dropdown-option{font-family:inherit;font-size:.9rem;padding:.6rem .9rem}.custom-dropdown.field-input .custom-dropdown-option:first-child{border-radius:5px 5px 0 0}.custom-dropdown.field-input .custom-dropdown-option:last-child{border-radius:0 0 5px 5px}.custom-dropdown.field-input .custom-dropdown-option:only-child{border-radius:5px}.custom-dropdown.field-input .custom-dropdown-text{line-height:1.2}.custom-dropdown.field-input .custom-dropdown-text.placeholder{color:#fff6!important}.custom-dropdown.field-input .custom-dropdown-trigger{background:#00000080!important;border:1px solid rgba(var(--vsg-purple-rgb),.3)!important;border-radius:6px!important;box-sizing:border-box!important;color:#ffffffe6!important;font-family:inherit!important;font-size:.95rem!important;line-height:normal!important;min-height:unset;padding:.7rem .9rem!important;width:100%!important}.custom-dropdown.field-input .custom-dropdown-trigger:hover:not(:disabled){background:#0009!important;border-color:var(--vsg-purple)!important}.custom-dropdown.field-input.disabled .custom-dropdown-trigger{background:#00000080!important;border:1px solid rgba(var(--vsg-purple-rgb),.3)!important;cursor:not-allowed!important;opacity:.6!important}.custom-dropdown.list-slot-label-select{background:transparent;border:none;max-width:200px;min-width:150px;padding:0}.custom-dropdown.open .custom-dropdown-arrow{color:var(--vsg-purple);transform:rotate(180deg)}.custom-dropdown.open .custom-dropdown-trigger{background:rgba(var(--vsg-purple-rgb),.05);border-color:var(--vsg-purple);box-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.2),inset 0 0 5px rgba(var(--vsg-purple-rgb),.1)}.dropdown-option{color:rgba(var(--vsg-purple-rgb),.8);cursor:pointer;font-family:var(--font-primary);font-size:14px;letter-spacing:.5px;padding:10px 16px;transition:all .2s ease}.dropdown-option.claude-tier-max20x{color:var(--vsg-purple-radiant);text-shadow:0 0 10px rgba(var(--vsg-purple-radiant-rgb),.5)}.dropdown-option.claude-tier-max20x:hover{color:var(--vsg-purple-radiant);text-shadow:0 0 16px rgba(var(--vsg-purple-radiant-rgb),.7)}.dropdown-option.claude-tier-max5x{color:var(--vsg-purple-brighter);text-shadow:0 0 6px rgba(var(--vsg-purple-brighter-rgb),.4)}.dropdown-option.claude-tier-max5x:hover{color:var(--vsg-purple-brighter);text-shadow:0 0 12px rgba(var(--vsg-purple-brighter-rgb),.6)}.dropdown-option.claude-tier-none{color:var(--vsg-purple)}.dropdown-option.claude-tier-none:hover{color:var(--vsg-purple);text-shadow:0 0 6px rgba(var(--vsg-purple-rgb),.4)}.dropdown-option.claude-tier-pro{color:var(--vsg-purple-bright)}.dropdown-option.claude-tier-pro:hover{color:var(--vsg-purple-bright);text-shadow:0 0 8px rgba(var(--vsg-purple-bright-rgb),.5)}.dropdown-option:hover{background:rgba(var(--vsg-purple-rgb),.1);color:var(--vsg-purple)}.dropdown-option:not(:last-child){border-bottom:1px solid rgba(var(--vsg-purple-rgb),.1)}.lookup-header{margin-bottom:12px}.lookup-header h5{color:#ffffffe6;font-family:var(--font-primary);font-size:12px;font-weight:400;letter-spacing:.5px;margin:0;text-transform:uppercase}.lookup-select{background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:#ffffffe6;cursor:pointer;flex:1;font-family:var(--font-primary);font-size:13px;min-width:150px;padding:8px 12px;transition:all .2s}.lookup-select option{background:var(--vsg-surface);color:#ffffffe6}.lookup-select:focus{border-color:var(--vsg-purple);box-shadow:0 0 0 2px rgba(var(--vsg-purple-rgb),.2);outline:none}.lookup-select:hover{background:rgba(var(--vsg-purple-rgb),.15);border-color:rgba(var(--vsg-purple-rgb),.5)}.mode-description{color:#fff9;font-size:13px;line-height:1.4}.option-description{background:var(--bg-tertiary, var(--vsg-surface));border:1px solid var(--border-color, rgba(var(--vsg-purple-rgb), .2));border-radius:4px;color:var(--text-secondary, rgba(255, 255, 255, .63));font-size:.75rem;font-style:normal;line-height:1.4;margin:10px 0 0;padding:.4rem .6rem;transition:border-color .2s;width:100%}.option-description:focus{border-color:var(--vsg-purple);outline:none}.option-label{color:rgba(var(--vsg-purple-rgb),.9);font-size:.875rem;font-weight:400;line-height:1.4}.selection-count{color:var(--vsg-purple);font-size:14px;font-weight:400;margin:16px 0 0;text-align:center}.version-select{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;cursor:pointer;flex:1;font-size:.9rem;max-width:300px;min-width:200px;padding:.5rem .75rem;transition:all .2s ease}.version-select option{background:#000000f2;color:#fff}.version-select:disabled{cursor:not-allowed;opacity:.5}.version-select:focus{background:#ffffff1a;border-color:var(--vsg-purple);outline:none}.version-select:hover{background:#ffffff14;border-color:rgba(var(--vsg-purple-rgb),.3)}.version-select:hover:not(:disabled){border-color:var(--primary-color, var(--vsg-info))}@media (prefers-color-scheme:dark){.mode-description{color:rgba(var(--vsg-purple-rgb),.8)}.option-label{color:rgba(var(--vsg-purple-rgb),.95)}}.action-btn{align-items:center;background:rgba(var(--vsg-purple-rgb),.2);border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:6px;color:var(--vsg-purple);cursor:pointer;display:flex;font-family:var(--font-primary);font-size:1rem;font-weight:400;height:32px;justify-content:center;padding:8px 14px;transition:all .2s ease;width:32px}.action-btn.accept{background:rgba(var(--vsg-success-rgb),.2);color:var(--vsg-success)}.action-btn.accept:hover:not(:disabled){background:rgba(var(--vsg-success-rgb),.35)}.action-btn.decline{background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple)}.action-btn.decline:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.25)}.action-btn.mark-read{background:rgba(var(--vsg-success-rgb),.2);color:var(--vsg-success)}.action-btn.mark-read:hover:not(:disabled){background:rgba(var(--vsg-success-rgb),.3)}.action-btn:disabled{cursor:not-allowed;opacity:.3}.action-btn:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.3);border-color:var(--vsg-purple);transform:scale(1.1)}.btn-icon{align-items:center;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:rgba(var(--vsg-purple-rgb),.7);cursor:pointer;display:flex;font-size:1rem;height:32px;justify-content:center;padding:.5rem .75rem;transition:all .2s;width:32px}.btn-icon-sm{background-color:var(--background-secondary, rgba(255, 255, 255, .94));border:1px solid var(--border-color, rgba(255, 255, 255, .8));border-radius:3px;cursor:pointer;font-size:.85rem;min-width:30px;padding:.25rem .5rem;text-align:center;transition:all .2s}.btn-icon-sm.btn-delete{background-color:var(--danger-background, rgba(255, 255, 255, .95));border-color:var(--danger-border, var(--vsg-error));color:var(--danger-color, rgba(var(--vsg-error-rgb), .8))}.btn-icon-sm.btn-delete:hover:not(:disabled){background-color:var(--danger-hover, rgba(255, 255, 255, .9));border-color:var(--danger-border-hover, var(--vsg-error))}.btn-icon-sm:active:not(:disabled){transform:scale(.95)}.btn-icon-sm:hover:not(:disabled){background-color:var(--background-hover, rgba(255, 255, 255, .88));border-color:var(--border-hover, rgba(255, 255, 255, .6))}.btn-icon-xs{align-items:center;background:transparent;border:1px solid transparent;border-radius:3px;color:rgba(var(--vsg-purple-rgb),.5);cursor:pointer;display:flex;font-size:.75rem;height:24px;justify-content:center;padding:0;transition:all .2s;width:24px}.btn-icon-xs.btn-delete:hover:not(:disabled){background:rgba(var(--vsg-magenta-rgb),.15);border-color:rgba(var(--vsg-magenta-rgb),.4);color:var(--vsg-magenta)}.btn-icon-xs:disabled{cursor:not-allowed;opacity:.2}.btn-icon-xs:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.3);color:var(--vsg-purple)}.btn-icon.btn-danger:hover:not(:disabled){background:rgba(var(--vsg-error-rgb),.2);border-color:rgba(var(--vsg-error-rgb),.5)}.btn-icon.btn-delete:hover:not(:disabled){background:rgba(var(--vsg-magenta-rgb),.15);border-color:rgba(var(--vsg-magenta-rgb),.4);color:var(--vsg-magenta)}.btn-icon:disabled{cursor:not-allowed;opacity:.5}.btn-icon:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.5);color:var(--vsg-purple)}.btn-primary{background:var(--primary-color, var(--vsg-info));border:none;border-radius:.25rem;box-shadow:0 4px 15px rgba(var(--vsg-purple-rgb),.3);color:#fff;cursor:pointer;font-weight:300;letter-spacing:.5px;padding:.75rem 1.5rem;transition:all .2s}.btn-primary:disabled{cursor:not-allowed;opacity:.5}.btn-primary:hover{box-shadow:0 6px 20px rgba(var(--vsg-purple-rgb),.4);transform:translateY(-2px)}.btn-primary:hover:not(:disabled){background:var(--primary-hover, var(--vsg-info))}.dice-roll-btn{background:linear-gradient(135deg,var(--vsg-purple),var(--vsg-purple));border:none;border-radius:6px;color:#fff;cursor:not-allowed;font-size:.9rem;font-weight:400;opacity:.7;padding:.6rem 1rem;transition:background .2s;white-space:nowrap}.dice-roll-btn:disabled{cursor:not-allowed;opacity:.6}.dice-roll-btn:hover:not(:disabled){background:var(--primary-hover, var(--vsg-info))}.edit-actions{border-top:1px solid rgba(var(--vsg-purple-rgb),.2);display:flex;gap:8px;justify-content:flex-end;margin-top:4px;padding-top:16px}.expand-btn{align-items:center;background:none;border:none;color:rgba(var(--vsg-purple-rgb),.6);cursor:pointer;display:flex;flex-shrink:0;font-size:12px;height:24px;justify-content:center;padding:4px;transition:color .2s ease;width:24px}.expand-btn:hover{color:var(--vsg-purple)}.header-actions{align-items:center;display:flex;gap:10px}.header-actions .back-to-dashboard-btn{margin-right:10px;min-width:auto}.history-snapshot-button{background:#0006;border:2px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:1rem;padding:1.5rem;text-align:left;transition:all .3s}.history-snapshot-button.current{background:rgba(var(--vsg-success-rgb),.05);border-color:rgba(var(--vsg-success-rgb),.39);cursor:not-allowed}.history-snapshot-button:disabled{cursor:not-allowed;opacity:.7}.history-snapshot-button:not(:disabled):not(.current):hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.6);box-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.2);transform:translateY(-2px)}.metadata-history-btn{align-items:center;background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:4px;color:rgba(var(--vsg-purple-rgb),.7);cursor:pointer;display:flex;font-family:var(--font-primary);font-size:11px;font-weight:400;gap:6px;letter-spacing:.5px;padding:3px 10px;transition:all .2s ease}.metadata-history-btn.active{background:rgba(var(--vsg-purple-rgb),.12);border-color:rgba(var(--vsg-purple-rgb),.5);color:var(--vsg-purple)}.metadata-history-btn:hover{background:rgba(var(--vsg-purple-rgb),.08);border-color:rgba(var(--vsg-purple-rgb),.4);color:var(--vsg-purple)}.toggle-button{align-items:center;background:#ffffff0d;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:20px;cursor:pointer;display:flex;gap:2px;padding:4px;position:relative;transition:all .2s ease}.toggle-button:hover{background:#ffffff14;border-color:rgba(var(--vsg-purple-rgb),.5)}.xpa-add-btn{background:transparent;border:1px dashed rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:var(--vsg-purple);cursor:pointer;font-family:var(--font-primary);font-size:.8rem;font-weight:300;padding:.5rem 1rem;text-align:center;transition:border-color .2s,background .2s;width:100%}.xpa-add-btn.primary{background:rgba(var(--vsg-purple-rgb),.1);border-style:solid}.xpa-add-btn.secondary{font-size:.75rem;padding:.375rem .75rem}.xpa-add-btn:hover{background:rgba(var(--vsg-purple-rgb),.05);border-color:var(--vsg-purple)}@media (max-width:600px){.action-btn{font-size:.9rem;height:28px;width:28px}.dice-roll-btn{width:100%}.header-actions{flex-wrap:wrap;justify-content:space-between}}.archive-card{background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;transition:all .2s ease}.archive-card.selected{background:rgba(var(--vsg-purple-rgb),.08);border-color:rgba(var(--vsg-purple-rgb),.6)}.archive-card:hover{background:#00000080;border-color:rgba(var(--vsg-purple-rgb),.4)}.archive-description{color:#ffffff80;font-family:var(--font-primary);font-size:13px;line-height:1.4;margin:4px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-entry-actions{display:flex;flex-shrink:0;gap:.25rem;margin-left:12px}.catalog-entry-card{align-items:flex-start;background:#0003;border:1px solid rgba(var(--vsg-purple-rgb),.1);border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:.5rem;padding:10px 12px;position:relative;transition:border-color .2s ease}.catalog-entry-card.catalog-entry-disabled{border-color:#ffffff0d;cursor:default;opacity:.35;pointer-events:none}.catalog-entry-card:hover{background:#0006;border-color:rgba(var(--vsg-purple-rgb),.25)}.catalog-entry-form{background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:6px;display:flex;flex-direction:column;gap:8px;margin-bottom:16px;margin-top:.5rem;padding:.75rem}.catalog-entry-form .form-actions{display:flex;gap:8px;justify-content:flex-end}.catalog-entry-form .form-input{background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:4px;color:#ffffffe6;font-family:var(--font-primary);font-size:13px;font-weight:400;outline:none;padding:8px 10px;transition:border-color .2s ease}.catalog-entry-form .form-input:focus{border-color:rgba(var(--vsg-purple-rgb),.4)}.catalog-entry-form .form-textarea{background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:4px;color:#ffffffe6;font-family:var(--font-primary);font-size:13px;font-weight:400;outline:none;padding:8px 10px;transition:border-color .2s ease}.catalog-entry-form .form-textarea:focus{border-color:rgba(var(--vsg-purple-rgb),.4)}.catalog-entry-form h6{margin:0 0 .5rem}.catalog-entry-info{align-items:center;display:flex;flex:1;flex-wrap:wrap;gap:.5rem;min-width:0}.catalog-entry-name{color:#ffffffe6;font-family:var(--font-primary);font-size:.85rem;font-weight:400}.category-header{align-items:center;background:rgba(var(--vsg-purple-rgb),.15);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-bottom:1px solid rgba(var(--vsg-purple-rgb),.1);border-radius:8px;color:#ffffff80;cursor:pointer;display:flex;font-size:.75rem;font-weight:400;gap:12px;letter-spacing:.5px;margin-bottom:8px;padding:10px 12px;padding-bottom:.25rem;text-transform:uppercase;transition:all .2s ease}.category-header:hover{background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.5)}.category-name{color:#ffffffe6;cursor:pointer;font-size:14px;font-weight:400}.character-card{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(var(--vsg-purple-rgb),.05);border:2px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:1rem;min-height:400px;overflow:hidden;padding:1rem;position:relative;transition:all .2s ease;width:100%}.character-card .character-name{color:#fffffff2;font-family:var(--font-primary);font-size:20px;font-weight:400;letter-spacing:.5px;margin:0}.character-card .dreamer-actions{display:inline;margin-left:6px}.character-card .role-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;font-family:var(--font-primary);font-size:11px;font-weight:400;left:10px;letter-spacing:1px;padding:4px 8px;position:absolute;text-transform:uppercase;top:10px;z-index:10}.character-card .role-badge.creator{background:rgba(var(--vsg-success-rgb),.2);border:1px solid rgba(var(--vsg-success-rgb),.3);color:var(--vsg-success)}.character-card .role-badge.creator.clickable{cursor:pointer;transition:all .3s ease}.character-card .role-badge.creator.clickable:hover{background:rgba(var(--vsg-success-rgb),.3);transform:scale(1.05)}.character-card .role-badge.progression{left:auto;right:10px}.character-card .role-badge.progression.boosted{background:rgba(var(--vsg-error-rgb),.2);border:1px solid rgba(var(--vsg-error-rgb),.3);color:var(--vsg-error)}.character-card .role-badge.progression.boosted.clickable:hover{background:rgba(var(--vsg-error-rgb),.3)}.character-card .role-badge.progression.clickable{cursor:pointer;transition:all .3s ease}.character-card .role-badge.progression.clickable:hover{transform:scale(1.05)}.character-card .role-badge.progression.legit{background:rgba(var(--vsg-success-rgb),.2);border:1px solid rgba(var(--vsg-success-rgb),.3);color:var(--vsg-success)}.character-card .role-badge.progression.legit.clickable:hover{background:rgba(var(--vsg-success-rgb),.3)}.character-card-row{align-items:center;background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:12px;padding:16px;transition:all .3s ease;width:100%}.character-card-row.clickable{cursor:pointer}.character-card-row.clickable:hover{background:rgba(var(--vsg-purple-rgb),.05);border-color:rgba(var(--vsg-purple-rgb),.4);transform:translateY(-2px)}.character-card-row>.character-details{min-width:min(100%,180px)}.character-card-row>.character-metadata-section{min-width:min(100%,180px)}.character-card-row>.character-player-info{min-width:min(100%,180px)}.character-card.clickable{cursor:pointer}.character-card.selected{background:rgba(var(--vsg-purple-rgb),.15);border-color:var(--vsg-purple)}.character-card:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.4);box-shadow:0 10px 30px rgba(var(--vsg-purple-rgb),.2);transform:translateY(-5px)}.character-info{align-items:center;display:flex;flex:1;flex-direction:column;gap:4px}.character-info .character-name{color:var(--vsg-purple);font-family:var(--font-primary);font-size:18px;font-weight:400}.character-info .character-user{color:#ffffffb3;font-size:14px}.character-info h4{color:var(--vsg-purple);font-family:var(--font-primary);margin-bottom:.25rem}.character-list{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto;padding:.5rem}.character-list::-webkit-scrollbar{width:6px}.character-list::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.3);border-radius:3px}.character-list::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.5)}.character-list::-webkit-scrollbar-track{background:rgba(var(--vsg-purple-rgb),.1);border-radius:3px}.events-list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.level-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0009;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);margin-bottom:1rem;padding:.75rem 1rem;transition:all .3s ease;width:100%}.level-card .level-controls{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.level-card .level-controls .agent-icon,.level-card .level-controls .reorder-btn,.level-card .level-controls .settings-btn,.level-card .level-controls .unfetch-btn{flex-shrink:0}.level-card.adventure{border-left:4px solid var(--vsg-purple-bright)}.level-card.bottom{border-left:4px solid var(--vsg-purple)}.level-card.campaign{border-left:4px solid var(--vsg-purple-brightest)}.level-card.clickable:active{transform:translateY(-1px)}.level-card.clickable:hover{background:rgba(var(--vsg-purple-rgb),.1);box-shadow:0 6px 24px rgba(var(--vsg-purple-rgb),.3);transform:translateY(-3px)}.level-card.medium{border-left:4px solid var(--vsg-purple-bright)}.level-card.session{border-left:4px solid var(--vsg-purple)}.level-card.top{border-left:4px solid var(--vsg-purple-brightest)}.level-card:hover{background:rgba(var(--vsg-purple-rgb),.05);border-color:rgba(var(--vsg-purple-rgb),.4);box-shadow:0 4px 20px rgba(var(--vsg-purple-rgb),.2);transform:translateY(-2px)}.list-field{display:flex;flex-direction:column;gap:.5rem;width:100%}.rule-card{background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;cursor:pointer;overflow:hidden;padding:1rem;transition:all .2s ease}.rule-card.expanded{border-color:rgba(var(--vsg-purple-rgb),.5)}.rule-card:hover{background:#00000080;border-color:rgba(var(--vsg-purple-rgb),.4);box-shadow:0 4px 12px rgba(var(--vsg-purple-rgb),.1)}.rule-content{animation:slideDown .2s ease;padding:0 16px 16px 42px}.rule-description{background:var(--background-secondary);border-radius:4px;color:#fff9;font-size:.85rem;line-height:1.6;margin:.5rem 0 0;padding:1rem;white-space:pre-wrap}.rule-header{align-items:center;cursor:pointer;display:flex;gap:10px;justify-content:space-between;padding:14px 16px;-webkit-user-select:none;user-select:none}.sheet-card-wrapper{cursor:pointer;position:relative}.sheet-card-wrapper.legit-approved .sheet-card{border-color:rgba(var(--vsg-purple-rgb),.6);filter:drop-shadow(0 0 10px rgba(var(--vsg-purple-rgb),.4)) drop-shadow(0 0 20px rgba(var(--vsg-purple-rgb),.15))}.sheet-card-wrapper.selectable{cursor:pointer}.sheet-card-wrapper.selectable .sheet-card{transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.sheet-card-wrapper.selectable:hover .sheet-card{border-color:rgba(var(--vsg-purple-rgb),.4);box-shadow:0 4px 20px rgba(var(--vsg-purple-rgb),.2)}.sheet-card-wrapper.selected .sheet-card{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.6);box-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.4),0 0 40px rgba(var(--vsg-purple-rgb),.15)}.user-item{align-items:center;background:rgba(var(--vsg-purple-rgb),.05);border:.25px solid rgba(var(--vsg-purple-rgb),.2);border-bottom:1px solid rgba(var(--vsg-purple-rgb),.1);border-radius:12px;cursor:pointer;display:flex;gap:16px;padding:12px 16px;transition:all .3s ease}.user-item.selected{background:rgba(var(--vsg-purple-rgb),.15);border-left:3px solid var(--vsg-purple)}.user-item:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.4)}.user-item:last-child{border-bottom:none}.list-field input[type=number]::-webkit-inner-spin-button,.list-field input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.list-field input[type=number]{-moz-appearance:textfield}.batch-column.field-active{border-color:rgba(var(--vsg-purple-rgb),.4)}.batch-column.field-completed{border-color:rgba(var(--vsg-purple-rgb),.3)}.batch-column.field-inactive{opacity:.4}.batch-column.flash-reject{animation:rejectFlash .6s ease}.col-scope{text-align:center;width:100px}.column-header{align-items:center;background:rgba(var(--vsg-purple-rgb),.08);border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);display:flex;gap:.5rem;justify-content:space-between;margin-bottom:1rem;padding:.75rem}.legend-color{border-radius:3px;display:inline-block;height:12px;width:12px}.legend-color.npc-color{background:rgba(var(--vsg-purple-rgb),.3);border:2px solid var(--vsg-purple)}.legend-color.pc-color{background:rgba(var(--vsg-success-rgb),.23);border:2px solid var(--vsg-success)}.legend-item{align-items:center;color:#ffffffb3;display:flex;font-size:12px;gap:6px}.legend-item span{font-size:14px}.legend-item.added{color:rgba(var(--vsg-success-rgb),.68)}.legend-item.modified{color:var(--vsg-caution)}.legend-item.removed{color:var(--vsg-error)}.legend-items{display:flex;flex-wrap:wrap;gap:12px}.matrix-cell{aspect-ratio:1;background:rgba(var(--vsg-purple-rgb),.03);border:1px solid rgba(var(--vsg-purple-rgb),.1);border-radius:6px;box-sizing:border-box;cursor:pointer;height:44px;max-width:44px;min-width:44px;padding:0;text-align:center;transition:all .2s ease;vertical-align:middle;width:44px}.matrix-cell.empty-cell{cursor:default}.matrix-cell.has-relation{background:rgba(var(--vsg-purple-rgb),.08)}.matrix-cell.has-relation:hover{box-shadow:0 4px 12px rgba(var(--vsg-purple-rgb),.3);transform:scale(1.05);z-index:10}.matrix-cell.selected{background:rgba(var(--vsg-purple-rgb),.2);border-color:var(--vsg-purple);border-width:2px;box-shadow:0 0 16px rgba(var(--vsg-purple-rgb),.5);transform:scale(1.05)}.matrix-cell.self-cell{background:#0000001a;cursor:default}.matrix-cell.self-cell .cell-content{color:#ffffff4d;font-weight:400}.matrix-cell:hover:not(.self-cell){background:rgba(var(--vsg-purple-rgb),.1)}.relation-arrow{color:rgba(var(--vsg-purple-rgb),.7);flex-shrink:0;font-size:20px}.relation-power-symbol{background:rgba(var(--vsg-gold-rgb),.2);border-radius:4px;color:var(--vsg-gold);cursor:help;flex-shrink:0;font-size:16px;font-weight:400;padding:2px 8px}.strength-bar{background:rgba(var(--vsg-purple-rgb),.2);border-radius:4px 4px 0 0;flex:1;height:8px;min-height:20px;overflow:hidden;position:relative;transition:height .3s ease,filter .2s ease;width:60%}td.col-scope{display:table-cell!important;list-style:none!important}@media (max-width:600px){.col-scope{display:none}.column-header{flex-wrap:wrap}.legend-items{gap:.5rem}}.avatar-placeholder{align-items:center;background:linear-gradient(135deg,var(--vsg-purple),rgba(var(--vsg-purple-rgb),.64));border-radius:50%;color:#fff;display:flex;font-family:var(--font-primary);font-size:20px;font-weight:400;height:100%;justify-content:center;overflow:hidden;position:relative;width:100%}.avatar-placeholder .avatar-icon{fill:currentColor;height:32px;width:32px}.avatar-placeholder svg{fill:currentColor;height:32px;width:32px}.dot{background:transparent;border:none;cursor:pointer;font-size:1.6rem;padding:.1rem;transition:all .2s}.dot.dot-locked{cursor:default;opacity:1}.dot.dot-locked:disabled{cursor:default;opacity:1}.dot.dot-locked:disabled:hover{filter:none;transform:none}.dot.dot-locked:not(:disabled):hover{filter:none;transform:none}.dot:disabled{cursor:not-allowed;opacity:.7}.dot:not(:disabled):hover{filter:brightness(1.3);transform:scale(1.2)}.image-placeholder{align-items:flex-start!important;background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.2),rgba(var(--vsg-purple-rgb),.13));display:flex;height:150px;justify-content:center;left:0;padding-top:100px!important;position:absolute;right:0;top:0;z-index:1}.image-placeholder.clickable{cursor:pointer;transition:background .2s ease}.image-placeholder.clickable:hover{background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.35),rgba(var(--vsg-purple-rgb),.22))}.image-upload{display:flex;flex-direction:column;gap:.5rem;width:100%}.online-indicator{background:rgba(var(--vsg-success-rgb),.77);border:2px solid rgba(0,0,0,.5);border-radius:50%;bottom:2px;display:inline-block;flex-shrink:0;height:8px;position:absolute;right:2px;width:8px}.online-indicator.offline{background:#ffffff73}.online-indicator.online{background:rgba(var(--vsg-success-rgb),.77);box-shadow:0 0 6px rgba(var(--vsg-success-rgb),.46)}.stat{align-items:center;color:rgba(var(--vsg-purple-rgb),.6);display:flex;flex-direction:row;flex-shrink:0;gap:.5rem;white-space:nowrap}.stat .styled-display-name-with-tooltip{cursor:pointer!important;display:inline-block!important;pointer-events:auto!important;position:relative!important}.stat .styled-display-name-with-tooltip .gm-rank-tooltip{background:#000000f2;border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:6px;bottom:125%;box-shadow:0 4px 12px #00000080;color:#fffffff2;font-size:.85rem;left:50%;padding:8px 12px;pointer-events:none;position:absolute;visibility:hidden;white-space:nowrap;z-index:10000}.stat .styled-display-name-with-tooltip:hover .gm-rank-tooltip{visibility:visible}.stat svg{opacity:.7}.stat-item{align-items:center;display:flex;flex-direction:column;gap:4px;justify-content:flex-start;min-width:120px;position:relative;text-align:center}.stat-item.clickable{border-radius:8px;cursor:pointer;padding:0;transition:all .2s ease}.stat-item.clickable:hover{background:rgba(var(--vsg-purple-rgb),.1);transform:translateY(-2px)}.stat-item.clickable:hover .stat-value{color:var(--vsg-purple)}.stat-label{align-items:center;color:#ffffff80;display:flex;font-family:var(--font-primary);font-size:10px;font-weight:400;justify-content:center;letter-spacing:.5px;min-height:20px;text-transform:uppercase}.stat-value{align-items:center;color:var(--vsg-purple);display:flex;font-family:var(--font-primary);font-size:20px;font-weight:400;justify-content:center;letter-spacing:.5px;line-height:1.2;min-height:38px}.stat-value.no-games{font-size:16px}.status-dot{border-radius:50%;height:6px;width:6px}.status-dot.offline{background:#ffffff4d}.status-dot.online{background:var(--vsg-success);box-shadow:0 0 4px rgba(var(--vsg-success-rgb),.5)}.tab-count{background:rgba(var(--vsg-purple-rgb),.3);border-radius:10px;color:var(--vsg-purple);font-size:.7rem;font-weight:400;padding:.125rem .375rem}@media (max-width:600px){.stat-item{flex:0 0 45%}}.advancement-pool-name{color:var(--text-primary, rgba(255, 255, 255, .88));flex:1;font-family:var(--font-primary);font-size:.95rem;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.change-section h5{font-size:.8rem;font-weight:400;margin:0 0 .5rem}.change-section li{align-items:center;background:#0003;border-radius:4px;display:flex;font-size:.8rem;justify-content:space-between;margin-bottom:.25rem;padding:.35rem .5rem}.change-section li:last-child{margin-bottom:0}.change-section ul{list-style:none;margin:0;padding:0}.change-section.added h5{color:rgba(var(--vsg-success-rgb),.68)}.change-section.modified h5{color:var(--vsg-caution)}.change-section.removed h5{color:var(--vsg-error)}.description-content{color:rgba(var(--vsg-purple-rgb),.9);font-size:.875rem;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.description-content h5{color:var(--vsg-purple);font-family:var(--font-primary);font-size:16px;font-weight:400;letter-spacing:.5px;margin:0 0 10px}.description-content p{color:#fffc;font-family:var(--font-primary);font-size:14px;letter-spacing:.3px;line-height:1.6;margin:0}.description-text{color:#ffffffb3;font-size:14px;line-height:1.6;margin:0}.description-text.highlight{color:rgba(var(--vsg-purple-rgb),.9)}.dice-field{display:flex;gap:.75rem}.edit-label{color:rgba(var(--vsg-purple-rgb),.7);flex-shrink:0;font-family:var(--font-primary);font-size:11px;font-weight:400;letter-spacing:.5px;text-transform:uppercase}.game-restriction-notice{color:rgba(var(--vsg-purple-rgb),.85);font-family:var(--font-primary);font-size:20px;font-style:normal;font-weight:400;letter-spacing:.3px;line-height:1.8;margin:0 auto 30px;max-width:760px;padding:0 20px;text-align:center}.help-icon{align-items:center;background:rgba(var(--vsg-purple-rgb),.15);border-radius:50%;color:#fff9;cursor:help;display:inline-flex;font-size:.7rem;height:16px;justify-content:center;transition:background .2s;width:16px}.help-icon:hover{background:rgba(var(--vsg-purple-rgb),.3)}.help-text{color:var(--text-muted, rgba(255, 255, 255, .4));display:block;font-size:.75rem;font-style:normal;margin-top:.35rem}.info-icon{align-items:center;background:transparent;border:none;border-radius:6px;color:var(--vsg-purple);cursor:default;display:inline-flex;flex-shrink:0;font-size:1.2rem;justify-content:center;padding:4px;transition:all .2s ease}.info-icon.clickable{cursor:pointer}.info-icon.clickable:active{transform:scale(.95)}.info-icon.clickable:hover{background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple);transform:scale(1.1)}.info-icon.disabled{cursor:not-allowed;opacity:.4}.info-icon:disabled{cursor:not-allowed;opacity:.4}.info-label{color:var(--vsg-purple);font-family:var(--font-primary);font-size:11px;font-weight:400;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap}.info-value{align-items:center;color:#ffffffed;display:flex;font-family:var(--font-primary);font-size:14px;font-weight:400;gap:8px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.info-value.claude-tier-max20x{color:var(--vsg-magenta);text-shadow:0 0 8px rgba(var(--vsg-magenta-rgb),.8),0 0 15px rgba(var(--vsg-magenta-rgb),.5);--glow-peak: 0 0 12px var(--vsg-magenta), 0 0 25px rgba(var(--vsg-magenta-rgb), .7);--glow-period: 2s;--glow-ease: ease;font-weight:400}.info-value.claude-tier-max5x{color:rgba(var(--vsg-purple-rgb),1);font-weight:400;text-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.4)}.info-value.claude-tier-none{color:rgba(var(--vsg-purple-rgb),.4);font-size:.85em}.info-value.claude-tier-pro{color:rgba(var(--vsg-purple-rgb),.8);font-weight:400}.info-value.coming-soon{color:rgba(var(--vsg-purple-rgb),.35);font-size:11px;font-style:normal}.info-value.styled-display-name-with-tooltip{overflow:visible}.login-footer{align-items:center;display:flex;flex-direction:column;gap:0;margin-top:2rem;text-align:center}.login-footer a{color:var(--vsg-purple);cursor:pointer;text-decoration:none;transition:all .2s}.login-footer a:hover{text-decoration:underline}.login-footer p{color:#ffffffb3;font-size:.875rem}.login-page{align-items:center;background:transparent;display:flex;flex-direction:column;justify-content:space-between;min-height:calc(100 * var(--vh-fit));padding:20px 20px 0;position:relative;z-index:1}.lore-category-tab{background:transparent;border:none;border-radius:6px;color:rgba(var(--vsg-purple-rgb),.5);cursor:pointer;font-family:var(--font-primary);font-size:.85rem;padding:8px 16px;transition:all .2s ease}.lore-category-tab.active{background:rgba(var(--vsg-purple-rgb),.2);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.2);color:var(--vsg-purple)}.lore-category-tab:hover{background:rgba(var(--vsg-purple-rgb),.1);color:rgba(var(--vsg-purple-rgb),.8)}.lore-subcategory-tab{background:transparent;border:none;border-radius:4px;color:rgba(var(--vsg-purple-rgb),.45);cursor:pointer;font-family:var(--font-primary);font-size:.75rem;letter-spacing:.3px;padding:4px 10px;transition:all .2s ease}.lore-subcategory-tab.active{background:rgba(var(--vsg-purple-rgb),.15);box-shadow:0 0 8px rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple)}.lore-subcategory-tab:hover{background:rgba(var(--vsg-purple-rgb),.08);color:rgba(var(--vsg-purple-rgb),.7)}.main-tab{background:transparent;border:none;border-bottom:1px solid transparent;color:rgba(var(--vsg-purple-rgb),.5);cursor:pointer;font-family:var(--font-primary);font-size:var(--main-tab-label);letter-spacing:.5px;padding:var(--main-tab-pad);transition:all .2s ease;white-space:nowrap}.main-tab.active{border-bottom-color:var(--vsg-purple);color:var(--vsg-purple)}.main-tab.tab-locked{color:rgba(var(--vsg-purple-rgb),.2);cursor:pointer}.main-tab.tab-locked:hover{border-bottom-color:transparent;color:rgba(var(--vsg-purple-rgb),.3)}.main-tab:hover{border-bottom-color:rgba(var(--vsg-purple-rgb),.3);color:rgba(var(--vsg-purple-rgb),.8)}.number-field-group{align-items:center;display:flex;gap:.5rem;width:fit-content}.number-unit{color:#ffffff80;font-size:.85rem;white-space:nowrap}.orphan-discord-hint{color:var(--vsg-info);font-family:var(--font-primary);font-size:12px;font-style:normal;margin-top:2px;white-space:nowrap}.placeholder-text{color:rgba(var(--vsg-purple-rgb),.35);font-size:14px;margin:0}.powered-by{color:rgba(var(--vsg-purple-rgb),.5);font-size:10px;font-style:normal;letter-spacing:0;text-transform:none}.required-asterisk{color:var(--vsg-magenta);font-weight:400;margin-left:2px}.setting-description{background:transparent;border-left:3px solid rgba(var(--vsg-purple-rgb),.3);border-radius:10px;margin-top:14px;padding:14px 16px}.validation-icon{flex-shrink:0;font-size:.9rem;pointer-events:none;position:absolute;right:12px}.validation-icon.invalid{color:rgba(var(--vsg-error-rgb),.8)}.validation-icon.valid{color:rgba(var(--vsg-success-rgb),.8)}.wizard-field-container.full-width{grid-column:1 / -1}@media (max-width:600px){.change-section li{align-items:flex-start;flex-direction:column;gap:.25rem}.description-text{font-size:13px}.dice-field{flex-direction:column}.number-field-group{flex-wrap:wrap}}@media (prefers-color-scheme:dark){.placeholder-text{color:#ffffffab}}.tooltip-trigger{display:contents}.tooltip-trigger,.tooltip-trigger *{list-style:none!important;list-style-type:none!important}.tooltip-trigger:before,.tooltip-trigger:after,.tooltip-trigger::marker{content:none!important;display:none!important}.custom-tooltip{background:#000000f2;color:var(--vsg-purple);padding:8px 12px;border-radius:6px;font-size:14px;font-family:var(--font-primary);white-space:pre-wrap;width:max-content;max-width:400px;word-wrap:break-word;pointer-events:none;z-index:var(--z-layer-hint, 100000);border:1px solid rgba(var(--vsg-purple-rgb),.3);box-shadow:0 4px 12px #00000080,0 0 20px rgba(var(--vsg-purple-rgb),.2);animation:tooltipFadeIn .1s ease;line-height:1.8;--arrow-left: 50%}.custom-tooltip:before{content:"";position:absolute;bottom:-6px;left:var(--arrow-left, 50%);transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid rgba(0,0,0,.95)}@keyframes tooltipFadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 600px){.custom-tooltip{max-width:calc(100 * var(--vw-fit) - 32px)!important}}.fantamaster-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--control-gap);border:none;border-radius:12px;font-family:var(--font-primary);font-weight:400;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;text-transform:uppercase;letter-spacing:1px}.fantamaster-button.compact{padding:var(--control-pad-xs);font-size:var(--control-label-sm);min-height:var(--control-h-xs);min-width:var(--control-minw-xs)}.fantamaster-button.small{padding:var(--control-pad-sm);font-size:var(--control-label-sm);min-height:var(--control-h-sm)}.fantamaster-button.medium{padding:var(--control-pad-md);font-size:var(--control-label-md);min-height:var(--control-h-md)}.fantamaster-button.large{padding:var(--control-pad-lg);font-size:var(--control-label-md);min-height:var(--control-h-lg)}.fantamaster-button.primary{background:#000000e6;color:var(--vsg-purple);border:none;position:relative}.fantamaster-button.primary:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.1);box-shadow:0 0 30px rgba(var(--vsg-purple-rgb),.3),0 0 60px rgba(var(--vsg-purple-rgb),.2);transform:translateY(-2px);elevation:4px}.fantamaster-button.secondary{background:#000000e6;color:rgba(var(--vsg-purple-rgb),.8);border:.25px solid rgba(var(--vsg-purple-rgb),.2);font-family:var(--font-primary);text-transform:uppercase;letter-spacing:1px;position:relative;font-weight:400}.fantamaster-button.secondary:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;background:rgba(var(--vsg-purple-rgb),.05);opacity:0;transition:opacity .3s ease}.fantamaster-button.secondary:hover:not(:disabled){color:var(--vsg-purple);border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.15);transform:translateY(-1px)}.fantamaster-button.secondary:hover:not(:disabled):before{opacity:1}.fantamaster-button.google{background:#000000e6;color:var(--vsg-purple);border:.25px solid rgba(var(--vsg-purple-rgb),.3);font-family:var(--font-primary);text-transform:uppercase;letter-spacing:1px;position:relative}.fantamaster-button.google:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;background:linear-gradient(135deg,rgba(var(--vsg-info-rgb),.1),rgba(var(--vsg-error-rgb),.1),rgba(var(--vsg-gold-rgb),.1),rgba(var(--vsg-success-rgb),.07));opacity:0;transition:opacity .3s ease}.fantamaster-button.google:hover:not(:disabled){border-color:var(--vsg-purple);box-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.2);transform:translateY(-1px)}.fantamaster-button.google:hover:not(:disabled):before{opacity:1}.fantamaster-button.facebook{background:#000000e6;color:var(--vsg-purple);border:.25px solid rgba(var(--vsg-purple-rgb),.3);font-family:var(--font-primary);text-transform:uppercase;letter-spacing:1px;position:relative}.fantamaster-button.facebook:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;background:linear-gradient(135deg,rgba(var(--vsg-info-rgb),.15),rgba(var(--vsg-info-rgb),.05));opacity:0;transition:opacity .3s ease}.fantamaster-button.facebook:hover:not(:disabled){border-color:var(--vsg-purple);box-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.2);transform:translateY(-1px)}.fantamaster-button.facebook:hover:not(:disabled):before{opacity:1}.fantamaster-button.apple{background:#000000e6;color:var(--vsg-purple);border:.25px solid rgba(var(--vsg-purple-rgb),.3);font-family:var(--font-primary);text-transform:uppercase;letter-spacing:1px;position:relative}.fantamaster-button.apple:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;background:linear-gradient(135deg,#ffffff14,#ffffff0f);opacity:0;transition:opacity .3s ease}.fantamaster-button.apple:hover:not(:disabled){border-color:var(--vsg-purple);box-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.2);transform:translateY(-1px)}.fantamaster-button.apple:hover:not(:disabled):before{opacity:1}.fantamaster-button.email{background:#000000e6;color:var(--vsg-purple);border:.25px solid rgba(var(--vsg-purple-rgb),.3);font-family:var(--font-primary);text-transform:uppercase;letter-spacing:1px;position:relative}.fantamaster-button.email:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.05),rgba(var(--vsg-purple-rgb),.05));opacity:0;transition:opacity .3s ease}.fantamaster-button.email:hover:not(:disabled){border-color:var(--vsg-purple);box-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.2);transform:translateY(-1px)}.fantamaster-button.email:hover:not(:disabled):before{opacity:1}.fantamaster-button.danger{background:#000000e6;color:var(--vsg-magenta);border:.25px solid rgba(var(--vsg-magenta-rgb),.3);font-family:var(--font-primary);text-transform:uppercase;letter-spacing:1px;position:relative;font-weight:400}.fantamaster-button.danger:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;background:rgba(var(--vsg-magenta-rgb),.05);opacity:0;transition:opacity .3s ease}.fantamaster-button.danger:hover:not(:disabled){color:var(--vsg-magenta);border-color:rgba(var(--vsg-magenta-rgb),.6);background:rgba(var(--vsg-magenta-rgb),.1);box-shadow:0 0 20px rgba(var(--vsg-magenta-rgb),.3);transform:translateY(-1px)}.fantamaster-button.danger:hover:not(:disabled):before{opacity:1}.fantamaster-button .button-icon{display:flex;align-items:center;justify-content:center;font-size:1.2em;position:relative;z-index:2}.fantamaster-button.google .button-icon svg{filter:none}.fantamaster-button:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.fantamaster-button:active:not(:disabled){transform:translateY(0)}.fantamaster-button:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(var(--vsg-purple-rgb),.5);transform:translate(-50%,-50%);transition:width .6s,height .6s;pointer-events:none}.fantamaster-button:active:after{width:300px;height:300px}.fantamaster-button .button-text{position:relative;z-index:2}.fantamaster-button.primary:not(:disabled){--glow-rest: var(--glow-button-rest);--glow-peak: var(--glow-button-peak);--glow-period: var(--glow-button-period)}.fantamaster-button.primary:disabled{--glow-play: paused}.fantamaster-button.icon{background:#000000e6;color:rgba(var(--vsg-purple-rgb),.8);border:.25px solid rgba(var(--vsg-purple-rgb),.2);font-family:var(--font-primary);text-transform:none;letter-spacing:0;position:relative;font-weight:400}.fantamaster-button.icon:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;background:rgba(var(--vsg-purple-rgb),.05);opacity:0;transition:opacity .3s ease}.fantamaster-button.icon:hover:not(:disabled){color:var(--vsg-purple);border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.15);transform:translateY(-1px)}.fantamaster-button.icon:hover:not(:disabled):before{opacity:1}.system-message-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.system-message-dialog{background:#000000f2;border:2px solid rgba(var(--vsg-purple-rgb),.3);border-radius:16px;padding:32px;min-width:400px;max-width:500px;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.2),0 0 80px rgba(var(--vsg-purple-rgb),.1);display:flex;flex-direction:column;gap:24px;animation:messageSlideIn .3s ease-out;position:relative}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.system-message-icon{display:flex;justify-content:center;align-items:center;margin:0 auto;width:80px;height:80px;border-radius:50%;background:rgba(var(--vsg-purple-rgb),.1);border:2px solid rgba(var(--vsg-purple-rgb),.3)}.system-message-dialog.success .system-message-icon{color:var(--vsg-success);background:rgba(var(--vsg-success-rgb),.1);border-color:rgba(var(--vsg-success-rgb),.3)}.system-message-dialog.error .system-message-icon{color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.3)}.system-message-dialog.warning .system-message-icon{color:var(--vsg-magenta);background:rgba(var(--vsg-magenta-rgb),.1);border-color:rgba(var(--vsg-magenta-rgb),.3)}.system-message-dialog.info .system-message-icon{color:var(--vsg-analyzing);background:rgba(var(--vsg-analyzing-rgb),.1);border-color:rgba(var(--vsg-analyzing-rgb),.3)}.system-message-content{text-align:center}.system-message-title{font-family:var(--font-primary);font-size:24px;font-weight:400;color:var(--vsg-purple);margin:0 0 12px;letter-spacing:.5px}.system-message-dialog.success .system-message-title{color:var(--vsg-success)}.system-message-dialog.error .system-message-title{color:var(--vsg-purple)}.system-message-dialog.warning .system-message-title{color:var(--vsg-magenta)}.system-message-dialog.info .system-message-title{color:var(--vsg-purple)}.system-message-text{font-family:var(--font-primary);font-size:16px;font-weight:400;color:#fffc;line-height:1.6;margin:0}.system-message-actions{display:flex;justify-content:center;gap:12px;margin-top:8px}.system-message-actions button{min-width:120px}.confirmation-input-wrapper{margin-top:20px}.confirmation-input{width:100%;padding:12px 16px;background:#0009;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:#fff;font-family:var(--font-primary);font-size:16px;font-weight:400;transition:all .2s ease}.confirmation-input:focus{outline:none;border-color:rgba(var(--vsg-purple-rgb),.6);background:#000c;box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.2)}.confirmation-input::placeholder{color:#fff6}.system-message-broom{position:absolute;top:12px;right:12px;background:transparent;border:none;color:var(--vsg-purple);cursor:pointer;opacity:.7;transition:all .2s ease;padding:4px;display:flex;align-items:center;justify-content:center}.system-message-broom:hover{opacity:1;transform:scale(1.15)}.toast-container{position:fixed;bottom:1.25rem;right:1.25rem;display:flex;flex-direction:column-reverse;gap:.5rem;z-index:11000;pointer-events:none;max-width:min(90 * var(--vw-fit),28rem)}.toast{pointer-events:auto;cursor:pointer;background:rgba(var(--vsg-surface-rgb),.95);border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:.5rem;padding:.75rem 1rem;color:#ffffffeb;font-size:.875rem;line-height:1.4;box-shadow:0 8px 24px #00000073,0 0 0 1px #0003,0 0 12px rgba(var(--vsg-purple-rgb),.18);animation:toastFadeIn .2s ease;-webkit-user-select:none;user-select:none}.toast:hover{background:rgba(var(--vsg-purple-rgb),.29);border-color:rgba(var(--vsg-purple-rgb),.6)}.toast-info,.toast-success{border-left:4px solid var(--vsg-purple)}.toast-warning{border-left:4px solid var(--vsg-gold)}.toast-error{border-left:4px solid var(--vsg-magenta);background:rgba(var(--vsg-surface-rgb),.96)}.toast-message{display:block;word-break:break-word}@keyframes toastFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toggle-container{display:inline-flex;align-items:center;justify-content:center}.toggle-container.full-width{width:100%}.toggle-group{display:flex;align-items:stretch;background:linear-gradient(135deg,#000c,rgba(var(--vsg-surface-rgb),.7));border:.25px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;overflow:hidden;position:relative;box-shadow:0 2px 8px #0000004d}.toggle-container.xs .toggle-option{padding:var(--toggle-pad-xs);font-size:var(--toggle-label-xs);min-height:0;height:var(--toggle-h-xs);line-height:1}.toggle-container.small .toggle-option{padding:var(--toggle-pad-sm);font-size:var(--toggle-label-sm);min-height:var(--toggle-h-sm)}.toggle-container.medium .toggle-option{padding:var(--toggle-pad-md);font-size:var(--toggle-label-md);min-height:var(--toggle-h-md)}.toggle-container.large .toggle-option{padding:var(--toggle-pad-lg);font-size:var(--toggle-label-lg);min-height:var(--toggle-h-lg)}.toggle-option{display:inline-flex;align-items:center;justify-content:center;gap:var(--chrome-gap-sm);background:transparent;border:none;border-radius:0;color:#fff9;font-family:var(--font-primary);font-weight:400;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;white-space:nowrap;-webkit-user-select:none;user-select:none;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.toggle-option:hover:not(.active):not(:disabled){color:#fffc;background:rgba(var(--vsg-purple-rgb),.1)}.toggle-option.active{color:var(--vsg-purple);background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.2),rgba(var(--vsg-purple-rgb),.1));border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:5px;font-weight:400;text-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.5);cursor:default}.toggle-option.active:after{content:"";position:absolute;bottom:0;left:10%;right:10%;height:2px;background:linear-gradient(90deg,transparent,var(--vsg-purple) 20%,var(--vsg-purple) 80%,transparent);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.8);animation:glowPulse 2s ease-in-out infinite}@keyframes glowPulse{0%,to{opacity:.7}50%{opacity:1}}.toggle-icon{display:inline-flex;align-items:center;justify-content:center;font-size:1.1em}.toggle-label{display:inline-flex;align-items:center}.toggle-container.disabled{opacity:.5}.toggle-container.disabled .toggle-option{cursor:not-allowed;pointer-events:none}.toggle-option:focus-visible{outline:none}.toggle-option:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(var(--vsg-purple-rgb),.3);transform:translate(-50%,-50%);transition:width .6s,height .6s;pointer-events:none}.toggle-option:active:before{width:100%;height:100%}.toggle-container.full-width .toggle-group{width:100%}.toggle-container.full-width .toggle-option{flex:1}.fm-dreamer-tools-tab{display:flex;flex-direction:column;gap:16px;padding:8px 0}.fm-dreamer-tools-tab--empty{color:rgba(var(--vsg-purple-rgb),.6);font-size:.9rem;text-align:center;padding:24px}.fm-dreamer-tools-tab__sub-tabs{display:flex;justify-content:center}.fm-dreamer-tools-tab__panel-area{display:flex;flex-direction:column}.fm-dreamer-panel-mount__loading{color:rgba(var(--vsg-purple-rgb),.7);font-size:.85rem;text-align:center;padding:24px}.custom-dropdown-trigger{box-sizing:border-box;width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#00000080;border:.25px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;color:var(--vsg-purple);font-size:14px;font-family:var(--font-primary);cursor:pointer;transition:border-color .3s ease,background-color .3s ease,box-shadow .3s ease,color .3s ease;text-align:left;outline:none}.custom-dropdown-trigger:hover:not(:disabled){border-color:rgba(var(--vsg-purple-rgb),.5);background:rgba(var(--vsg-purple-rgb),.05)}.custom-dropdown-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-dropdown-text.placeholder{color:rgba(var(--vsg-purple-rgb),.4)}.custom-dropdown-arrow{display:flex;align-items:center;justify-content:center;color:rgba(var(--vsg-purple-rgb),.6);transition:transform .2s ease;margin-left:8px}.custom-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:1000;background:#000000f2;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;box-shadow:0 4px 20px rgba(var(--vsg-purple-rgb),.2),0 8px 32px #00000080;max-height:250px;overflow-y:auto;animation:dropdownFadeIn .2s ease}.custom-dropdown-menu--portal{position:fixed;z-index:99999}.custom-dropdown-menu--above:not(.custom-dropdown-menu--portal){top:auto;bottom:calc(100% + 4px);animation:dropdownFadeInUpInline .2s ease}@keyframes dropdownFadeInUpInline{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.custom-dropdown-menu--above.custom-dropdown-menu--portal{animation:dropdownFadeInUp .2s ease}@keyframes dropdownFadeInUp{0%{opacity:0;transform:translateY(calc(-100% + 8px))}to{opacity:1;transform:translateY(-100%)}}.custom-dropdown-option{width:100%;padding:12px 16px;background:transparent;border:none;color:#ffffffd9;font-size:14px;font-family:var(--font-primary);text-align:left;cursor:pointer;transition:all .2s ease}.custom-dropdown-option:first-child{border-radius:11px 11px 0 0}.custom-dropdown-option:last-child{border-radius:0 0 11px 11px}.custom-dropdown-option:only-child{border-radius:11px}.custom-dropdown-option:hover:not(.disabled):not(.selected){background:rgba(var(--vsg-purple-rgb),.1);color:#fff}.custom-dropdown-option.selected{background:rgba(var(--vsg-purple-rgb),.2);color:var(--vsg-purple);font-weight:400}.custom-dropdown-option.selected:hover{background:rgba(var(--vsg-purple-rgb),.25)}.custom-dropdown-option.disabled{opacity:.4;cursor:not-allowed}.custom-dropdown-divider{height:1px;background:rgba(var(--vsg-purple-rgb),.2);margin:4px 12px}.custom-dropdown-inline-search{flex:1;width:0;background:transparent;border:none;color:var(--vsg-purple);font-size:14px;font-family:var(--font-primary);outline:none;padding:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-dropdown-inline-search::placeholder{color:rgba(var(--vsg-purple-rgb),.4)}.custom-dropdown-no-results{padding:12px 16px;color:#fff6;font-size:13px;font-family:var(--font-primary);text-align:center;font-style:normal}.custom-dropdown-alphabet-nav{display:flex;flex-wrap:wrap;gap:1px;padding:6px 8px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15);background:#0000004d;position:sticky;top:0;z-index:1;justify-content:center}.custom-dropdown-alphabet-letter{padding:2px 4px;background:transparent;border:none;color:rgba(var(--vsg-purple-rgb),.4);font-family:var(--font-primary);font-size:.6rem;cursor:pointer;border-radius:3px;transition:all .15s ease;min-width:16px;text-align:center;line-height:1.2}.custom-dropdown-alphabet-letter:hover{background:rgba(var(--vsg-purple-rgb),.12);color:var(--vsg-purple)}.custom-dropdown-menu::-webkit-scrollbar{width:8px}.custom-dropdown-menu::-webkit-scrollbar-track{background:#0000004d;border-radius:4px}.custom-dropdown-menu::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.2);border-radius:4px}.custom-dropdown-menu::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.3)}@media (max-width: 600px){.custom-dropdown-menu{max-width:calc(100 * var(--vw-fit) - 16px)!important;max-height:calc(50 * var(--vh-fit));overflow-y:auto;-webkit-overflow-scrolling:touch}}.delete-confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}.delete-confirm-dialog{background:#000000f2;border:1px solid rgba(var(--vsg-magenta-rgb),.3);border-radius:12px;padding:30px;max-width:500px;width:90%;box-shadow:0 20px 60px rgba(var(--vsg-magenta-rgb),.3);animation:slideUp .3s ease}.delete-confirm-header{margin-bottom:25px;text-align:center}.delete-confirm-header h2{font-family:var(--font-primary);font-size:24px;color:var(--vsg-magenta);margin:0;text-transform:uppercase;letter-spacing:1px}.delete-confirm-content{margin-bottom:30px}.delete-warning{color:#ffffffe6;font-size:15px;line-height:1.6;margin-bottom:20px;text-align:center}.delete-warning strong{color:var(--vsg-magenta);font-weight:400}.delete-instruction{color:#fffc;font-size:14px;margin-bottom:15px;text-align:center}.item-name-highlight{color:var(--vsg-purple);font-family:var(--font-primary);font-weight:400;letter-spacing:.5px}.delete-confirm-input{width:100%;padding:12px 16px;background:#00000080;border:2px solid rgba(var(--vsg-magenta-rgb),.3);border-radius:8px;color:#fff;font-size:16px;font-family:var(--font-primary);letter-spacing:.5px;outline:none;transition:all .3s ease}.delete-confirm-input:focus{border-color:rgba(var(--vsg-magenta-rgb),.5);background:#000000b3;box-shadow:0 0 20px rgba(var(--vsg-magenta-rgb),.2)}.delete-confirm-input.valid{border-color:rgba(var(--vsg-success-rgb),.5);box-shadow:0 0 20px rgba(var(--vsg-success-rgb),.2)}.delete-confirm-input::placeholder{color:#ffffff4d;font-style:normal}.delete-confirm-input:disabled{opacity:.5;cursor:not-allowed}.delete-confirm-actions{display:flex;gap:15px;justify-content:center}.fantamaster-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:20px;font-family:var(--font-primary);font-weight:400;text-transform:uppercase;letter-spacing:1px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;white-space:nowrap;text-align:center}.fantamaster-badge-small{font-size:10px;padding:3px 10px}.fantamaster-badge-medium{font-size:11px;padding:4px 12px}.fantamaster-badge-magenta{background:rgba(var(--vsg-magenta-rgb),.2);color:var(--vsg-magenta);border:1px solid rgba(var(--vsg-magenta-rgb),.3)}.fantamaster-badge-purple{background:rgba(var(--vsg-purple-rgb),.2);color:var(--vsg-purple);border:1px solid rgba(var(--vsg-purple-rgb),.3)}.fantamaster-badge-green{background:rgba(var(--vsg-success-rgb),.2);color:var(--vsg-success);border:1px solid rgba(var(--vsg-success-rgb),.3)}.fantamaster-badge-gold{background:rgba(var(--vsg-gold-rgb),.2);color:var(--vsg-gold);border:1px solid rgba(var(--vsg-gold-rgb),.3)}.fantamaster-badge-orange{background:rgba(var(--vsg-caution-rgb),.2);color:var(--vsg-caution);border:1px solid rgba(var(--vsg-caution-rgb),.3)}.fantamaster-badge-red{background:rgba(var(--vsg-error-rgb),.2);color:var(--vsg-error);border:1px solid rgba(var(--vsg-error-rgb),.3)}.fantamaster-badge-gray{background:#ffffff1a;color:#ffffff80;border:1px solid rgba(255,255,255,.15)}.empty-state-container{position:fixed;top:450px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:120px;padding:24px;background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;max-width:520px;width:fit-content;min-width:300px;box-sizing:border-box;text-align:center;z-index:1}.empty-state-container.empty-state-inline{position:static;transform:none;margin:60px auto;width:100%;max-width:480px}.empty-state-icon{font-size:48px;opacity:.6;line-height:1}.empty-state-message{font-family:var(--font-primary);font-size:16px;font-style:normal;color:var(--vsg-purple);line-height:1.6;margin:0;max-width:500px}.empty-state-message:empty{display:none}.empty-state-hint{font-family:var(--font-primary);font-size:16px;color:var(--vsg-purple);line-height:1.5;margin:0;max-width:400px}.empty-state-actions{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:8px}.empty-state-tips{font-family:var(--font-primary);font-size:13px;color:var(--vsg-purple);line-height:1.5;margin:8px 0 0;max-width:400px;text-align:center;white-space:pre-line}.unified-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;min-height:200px}.unified-spinner-inline-wrapper{display:flex;flex-direction:column;justify-content:center;align-items:center}.unified-spinner{display:inline-block;border-radius:50%;border-style:solid;border-color:rgba(var(--vsg-purple-rgb),.2);border-top-color:var(--vsg-purple);animation:unified-spin 1s linear infinite}.unified-spinner-small{width:24px;height:24px;border-width:2px}.unified-spinner-medium{width:40px;height:40px;border-width:3px}.unified-spinner-large{width:60px;height:60px;border-width:4px}.unified-loading-message{color:#fff9;font-size:14px;margin:24px 0 0;text-align:center}.unified-spinner-danger{border-color:rgba(var(--vsg-magenta-rgb),.2);border-top-color:var(--vsg-magenta)}.unified-loading-hint{color:#fff6;font-size:13px;margin:8px 0 0;text-align:center;font-style:normal}@keyframes unified-spin{to{transform:rotate(360deg)}}.subscriptions-settings-tab{display:flex;flex-direction:column;gap:16px;padding:8px 0}.subscriptions-settings-loading{display:flex;justify-content:center;padding:32px 0}.subscriptions-settings-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px}.subscriptions-settings-title{font-family:var(--font-primary);font-size:16px;font-weight:300;color:#fffffff2;margin:0}.subscriptions-settings-hint{font-family:var(--font-primary);font-size:13px;color:#ffffffa6;margin:0}.subscriptions-settings-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.subscriptions-settings-row{display:flex;flex-direction:column;gap:6px;padding:12px 16px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px}.subscriptions-settings-row-main{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.subscriptions-settings-row-game{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.subscriptions-settings-row-game-name{font-family:var(--font-primary);font-size:14px;font-weight:400;color:#fffffff2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subscriptions-settings-row-gm{font-family:var(--font-primary);font-size:12px;color:#ffffff8c}.subscriptions-settings-row-meta{display:flex;flex-direction:row;align-items:center;gap:12px;font-family:var(--font-primary);font-size:13px;color:#ffffffb3}.subscriptions-settings-row-renewal{color:#fff9}.subscriptions-numeric{font-family:var(--font-primary);font-variant-numeric:tabular-nums;font-weight:400;color:#ffffffe6}.popup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out}.popup-container{background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:12px;min-width:400px;max-width:500px;max-height:calc(80 * var(--vh-fit));overflow:hidden;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideUp .3s ease-out}.popup-header{padding:20px 24px;background:rgba(var(--vsg-purple-rgb),.05);border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);display:flex;align-items:center;gap:15px}.popup-logo{width:36px;height:36px;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(var(--vsg-purple-rgb),.5))}.popup-title{margin:0;font-family:var(--font-primary);font-size:1.25rem;font-weight:400;color:var(--vsg-purple);letter-spacing:.5px;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5)}.popup-content{padding:24px;background:rgba(var(--vsg-purple-rgb),.02)}.popup-message{margin:0;font-family:var(--font-primary);font-size:15px;line-height:1.6;color:#ffffffe6;text-align:center}.popup-actions{padding:16px 24px;background:rgba(var(--vsg-purple-rgb),.05);border-top:1px solid rgba(var(--vsg-purple-rgb),.2);display:flex;justify-content:center;gap:12px}.popup-button{min-width:100px;padding:10px 24px;font-family:var(--font-primary);font-size:14px;font-weight:400;letter-spacing:1px;border-radius:12px;cursor:pointer;transition:all .3s ease;text-transform:uppercase}.popup-button-primary{background:#000000e6;border:.25px solid rgba(var(--vsg-purple-rgb),.3);color:var(--vsg-purple)}.popup-button-primary:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.5);transform:translateY(-1px);box-shadow:0 0 30px rgba(var(--vsg-purple-rgb),.3),0 0 60px rgba(var(--vsg-purple-rgb),.2)}.popup-button-secondary{background:#000000e6;border:.25px solid rgba(var(--vsg-purple-rgb),.2);color:rgba(var(--vsg-purple-rgb),.8)}.popup-button-secondary:hover{color:var(--vsg-purple);border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.15);transform:translateY(-1px)}.popup-success .popup-header{background:rgba(var(--vsg-purple-rgb),.08)}.popup-success .popup-title{color:var(--vsg-purple)}.popup-error .popup-header{background:rgba(var(--vsg-error-rgb),.08)}.popup-error .popup-title{color:var(--vsg-error);text-shadow:0 0 20px rgba(var(--vsg-error-rgb),.5)}.popup-warning .popup-header{background:rgba(var(--vsg-magenta-rgb),.08)}.popup-warning .popup-title{color:var(--vsg-magenta);text-shadow:0 0 20px rgba(var(--vsg-magenta-rgb),.5)}.popup-content::-webkit-scrollbar{width:8px}.popup-content::-webkit-scrollbar-track{background:rgba(var(--vsg-purple-rgb),.05);border-radius:4px}.popup-content::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.3);border-radius:4px}.popup-content::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.5)}@media (max-width: 600px){.popup-container{min-width:90%;max-width:90%;margin:20px}.popup-content{padding:20px}.popup-message{font-size:14px}}.settings-modal{background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:16px;width:90%;max-width:780px;max-height:calc(85 * var(--vh-fit));display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080,0 0 100px rgba(var(--vsg-purple-rgb),.2);animation:slideUp .3s ease}.settings-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:.25px solid rgba(var(--vsg-purple-rgb),.2)}.settings-modal .modal-title{font-family:var(--font-primary);color:var(--vsg-purple);font-size:24px;font-weight:300;letter-spacing:1px;margin:0}.settings-modal .modal-content{flex:1;overflow-y:auto;padding:16px 24px 24px}.settings-modal .modal-content::-webkit-scrollbar{width:8px}.settings-modal .modal-content::-webkit-scrollbar-track{background:#0000004d;border-radius:4px}.settings-modal .modal-content::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.3);border-radius:4px}.settings-modal .modal-content::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.5)}:where(.settings-modal) .settings-section-title{font-family:var(--font-primary);color:#fffffff2;font-size:15px;font-weight:300;letter-spacing:.5px;margin:0 0 14px}.settings-question-hint{color:#fff9;font-size:13px;margin:-8px 0 14px;font-style:normal}.language-section{display:flex;align-items:center;justify-content:flex-start;gap:16px}.language-section .settings-section-title{margin:0;white-space:nowrap}.settings-lang-dropdown{width:200px}.settings-lang-dropdown .custom-dropdown-trigger{border:1px solid rgba(var(--vsg-purple-rgb),.4)}.description-hint{font-size:13px;color:rgba(var(--vsg-purple-rgb),.6);font-style:normal;line-height:1.5;margin:16px 0 0}.privacy-protected-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;text-align:center;padding:40px 20px}.privacy-protected-title{font-family:var(--font-primary);color:var(--vsg-magenta);font-size:20px;font-weight:400;letter-spacing:1px;margin:0 0 16px;text-shadow:0 0 20px rgba(var(--vsg-magenta-rgb),.4)}.privacy-protected-message{color:#fffc;font-size:15px;line-height:1.6;max-width:400px;margin:0}.young-adult-section{margin-top:32px;padding-top:24px;border-top:1px solid rgba(var(--vsg-magenta-rgb),.2)}.young-adult-section .settings-section-title{color:rgba(var(--vsg-magenta-rgb),.9)}.young-adult-section .setting-description{border-left-color:rgba(var(--vsg-magenta-rgb),.4)}.delete-account-section{margin-top:32px;padding-top:24px;border-top:1px solid rgba(var(--vsg-magenta-rgb),.2);display:flex;justify-content:center}.delete-account-btn{min-width:200px}@media (max-width: 600px){.settings-modal{width:95%;max-height:calc(90 * var(--vh-fit))}.settings-modal .modal-header{padding:18px}.settings-modal .modal-title{font-size:20px}.settings-modal .modal-content{padding:14px 18px 20px}:where(.settings-modal) .settings-section-title{font-size:14px}.description-hint{font-size:12px}}.desktop-link-status{display:flex;align-items:center;gap:10px;padding:10px 0}.desktop-link-indicator{width:10px;height:10px;border-radius:50%;flex-shrink:0}.desktop-link-indicator.connected{background:var(--vsg-success);box-shadow:0 0 8px rgba(var(--vsg-success-rgb),.5)}.desktop-link-indicator.disconnected{background:#ffffff4d}.desktop-link-text{font-family:var(--font-primary);font-size:14px;font-weight:400;color:#ffffffe6}.modal-close-button{background:#000000e6;border:.25px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;color:rgba(var(--vsg-purple-rgb),.8);width:2.5rem;height:2.5rem;min-height:auto;padding:4px 8px;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.modal-close-button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;background:rgba(var(--vsg-purple-rgb),.05);opacity:0;transition:opacity .3s ease}.modal-close-button:hover{color:var(--vsg-purple);border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.15);transform:translateY(-1px)}.modal-close-button:hover:before{opacity:1}.modal-close-button:active{transform:translateY(0)}.modal-close-absolute{position:absolute;right:24px}.layout-scrollable-row{display:flex;align-items:center;min-width:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;container-type:inline-size}.layout-scrollable-row::-webkit-scrollbar{display:none}.layout-scrollable-row>*{flex-shrink:0;white-space:nowrap}.layout-action-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--chrome-gap-md);width:100%;min-width:0}.layout-action-row>.layout-action-row-scroll{flex:1 1 0;min-width:min(100%,var(--action-row-scroll-min))}.layout-action-row>.layout-action-row-leading,.layout-action-row>.layout-action-row-action{display:flex;align-items:center;gap:var(--chrome-gap-md);flex:0 0 auto}.layout-action-row>.layout-action-row-action{justify-content:flex-end;margin-inline-start:auto}.layout-header-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--chrome-gap-md) var(--chrome-gap-lg);min-width:0;width:100%}.layout-header-row-side{display:flex;align-items:center;gap:var(--chrome-gap-md);flex:1 1 0;min-width:min-content}.layout-header-row-trailing{justify-content:flex-end}.layout-header-row-centre{flex:0 1 auto;min-width:min-content;display:flex;align-items:center;justify-content:center}.layout-header-row-side>*{min-width:0}.trash-icon{display:inline-flex;align-items:center;justify-content:center;padding:4px;border:none;border-radius:6px;background:transparent;color:var(--vsg-magenta);cursor:default;transition:all .2s ease}.trash-icon-medium{width:32px;height:32px}.trash-icon-small{width:24px;height:24px}.trash-icon.clickable{cursor:pointer}.trash-icon.clickable:hover{background:rgba(var(--vsg-magenta-rgb),.15);color:var(--vsg-magenta);transform:scale(1.1)}.trash-icon.clickable:active{transform:scale(.95)}.trash-icon.disabled{opacity:.4;cursor:not-allowed}.trash-icon:disabled{opacity:.4;cursor:not-allowed}.trash-icon.loading .trash-svg{animation:trash-shake .4s ease-in-out infinite}@keyframes trash-shake{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.trash-icon-medium .trash-svg{width:20px;height:20px}.trash-icon-small .trash-svg{width:16px;height:16px}.trash-icon-tiny{width:auto;height:auto;padding:2px 4px;border-radius:0;vertical-align:text-bottom;margin-left:4px;opacity:.7}.trash-icon-tiny .trash-svg{width:13px;height:13px}.trash-icon-tiny.clickable:hover{background:transparent;opacity:1;transform:scale(1.2)}.dice-selector{display:flex;flex-direction:column;gap:12px}.dice-selector-label{font-size:14px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.9);text-transform:uppercase;letter-spacing:1px}.dice-buttons{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.dice-button{width:87px;height:85px;padding:16px 12px;background:rgba(var(--vsg-purple-rgb),.15);border:2px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;color:rgba(var(--vsg-purple-rgb),.9);cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-family:var(--font-primary)}.dice-button:hover{background:rgba(var(--vsg-purple-rgb),.25);border-color:rgba(var(--vsg-purple-rgb),.6);transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--vsg-purple-rgb),.3)}.dice-button:active{transform:translateY(0)}.dice-icon{font-size:24px;height:28px;display:flex;align-items:center;justify-content:center}.dice-icon-img{filter:brightness(0) saturate(100%) invert(48%) sepia(95%) saturate(6500%) hue-rotate(267deg) brightness(105%) contrast(101%);transition:all .2s ease}.dice-button:hover .dice-icon-img{filter:brightness(0) saturate(100%) invert(48%) sepia(95%) saturate(6500%) hue-rotate(267deg) brightness(120%) contrast(101%)}.dice-icon-text{font-size:22px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.9);font-family:var(--font-primary);height:28px;display:flex;align-items:center;justify-content:center}.dice-button:hover .dice-icon-text{color:var(--vsg-purple)}.dice-label{font-size:12px;font-weight:400;letter-spacing:.5px}@media (max-width: 600px){.dice-buttons{justify-content:center}}.numeric-stepper{display:flex;align-items:center;gap:0}.numeric-stepper__button{background:rgba(var(--vsg-purple-rgb),.15);border:1px solid rgba(var(--vsg-purple-rgb),.3);color:var(--vsg-purple);font-weight:400;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding:0}.numeric-stepper__button--decrement{border-radius:6px 0 0 6px;border-right:none}.numeric-stepper__button--increment{border-radius:0 6px 6px 0;border-left:none}.numeric-stepper__button:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.3);border-color:rgba(var(--vsg-purple-rgb),.5)}.numeric-stepper__button:active:not(:disabled){transform:scale(.95)}.numeric-stepper__button:disabled{opacity:.3;cursor:not-allowed}.numeric-stepper__input{background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:0;color:#ffffffe6;font-family:inherit;font-weight:400;text-align:center;outline:none;transition:all .2s ease}.numeric-stepper__input:focus{border-color:rgba(var(--vsg-purple-rgb),.6);background:#000000b3;box-shadow:0 0 0 2px rgba(var(--vsg-purple-rgb),.15)}.numeric-stepper__input::-webkit-outer-spin-button,.numeric-stepper__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.numeric-stepper__input[type=number]{-moz-appearance:textfield}.numeric-stepper--small .numeric-stepper__button{width:28px;height:28px;font-size:.9rem}.numeric-stepper--small .numeric-stepper__input{width:40px;height:28px;padding:0 4px;font-size:.85rem}.numeric-stepper--medium .numeric-stepper__button{width:36px;height:36px;font-size:1.1rem}.numeric-stepper--medium .numeric-stepper__input{width:50px;height:36px;padding:0 6px;font-size:.95rem}.numeric-stepper--large .numeric-stepper__button{width:44px;height:44px;font-size:1.3rem}.numeric-stepper--large .numeric-stepper__input{width:70px;height:44px;padding:0 8px;font-size:1.1rem}.numeric-stepper--disabled{opacity:.5;pointer-events:none}.numeric-stepper--disabled .numeric-stepper__input{color:#ffffff80}.difficulty-selector{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:rgba(var(--vsg-purple-rgb),.05);border-radius:8px;border:1px solid rgba(var(--vsg-purple-rgb),.2)}.difficulty-controls-row{display:flex;gap:1.5rem;align-items:center}.difficulty-header{display:flex;align-items:center;justify-content:space-between}.difficulty-title{margin:0;font-size:.875rem;font-weight:400;text-transform:uppercase;letter-spacing:.05em;color:var(--vsg-purple)}.difficulty-value-control{display:flex;align-items:center;gap:.75rem;justify-content:center}.difficulty-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;border:1px solid rgba(var(--vsg-purple-rgb),.3);background:rgba(var(--vsg-purple-rgb),.1);color:var(--vsg-purple);font-size:1.25rem;font-weight:400;cursor:pointer;transition:all .2s ease}.difficulty-button:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.2);border-color:var(--vsg-purple);transform:scale(1.05)}.difficulty-button:active:not(:disabled){transform:scale(.95)}.difficulty-button:disabled{opacity:.3;cursor:not-allowed}.difficulty-display{display:flex;align-items:center;justify-content:center;min-width:80px;height:48px;padding:0 1rem;background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.15),rgba(var(--vsg-purple-rgb),.05));border:2px solid var(--vsg-purple);border-radius:8px;font-size:2rem;font-weight:400;color:var(--vsg-purple);font-family:var(--font-primary);cursor:pointer;transition:all .2s ease}.difficulty-display:hover{background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.25),rgba(var(--vsg-purple-rgb),.1));transform:scale(1.02)}.difficulty-input{min-width:80px;height:48px;padding:0 1rem;background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.15),rgba(var(--vsg-purple-rgb),.05));border:2px solid var(--vsg-purple);border-radius:8px;font-size:2rem;font-weight:400;color:var(--vsg-purple);font-family:var(--font-primary);text-align:center;outline:none}.difficulty-input:focus{background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.25),rgba(var(--vsg-purple-rgb),.1));box-shadow:0 0 0 3px rgba(var(--vsg-purple-rgb),.3)}.difficulty-input::-webkit-outer-spin-button,.difficulty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.difficulty-input[type=number]{-moz-appearance:textfield}.difficulty-mode-selector{display:flex;flex-direction:row;gap:1rem;flex:1}.difficulty-mode-option{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem .75rem;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:6px;cursor:pointer;transition:all .2s ease;flex:1}.difficulty-mode-option:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.4)}.difficulty-mode-option input[type=radio]{margin-top:.25rem;flex-shrink:0;width:18px;height:18px;accent-color:var(--vsg-purple);cursor:pointer}.mode-content{display:flex;flex-direction:column;gap:.25rem;flex:1}.mode-label{font-size:.875rem;font-weight:400;color:var(--vsg-purple)}.fm-checkbox{display:inline-flex;align-items:center;justify-content:flex-start;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s ease;min-height:20px;flex-shrink:0}.fm-checkbox:focus{outline:none}.fm-checkbox:focus-visible .fm-checkbox-box{box-shadow:0 0 0 2px rgba(var(--vsg-purple-rgb),.4)}.fm-checkbox-box{width:18px;height:18px;box-sizing:border-box;border:2px solid rgba(var(--vsg-purple-rgb),.4);border-radius:4px;background:#0000004d;display:flex;align-items:center;justify-content:center;transition:all .2s ease;position:relative;flex-shrink:0}.fm-checkbox:hover .fm-checkbox-box{border-color:rgba(var(--vsg-purple-rgb),.6);background:rgba(var(--vsg-purple-rgb),.05)}.fm-checkbox.checked .fm-checkbox-box{background:linear-gradient(135deg,var(--vsg-purple),rgba(var(--vsg-purple-rgb),.64));border-color:var(--vsg-purple)}.fm-checkbox.checked:hover .fm-checkbox-box{background:linear-gradient(135deg,var(--vsg-purple),rgba(var(--vsg-purple-rgb),.67));border-color:var(--vsg-purple)}.fm-checkbox-check{color:#fff;animation:fm-checkbox-check-appear .2s ease}@keyframes fm-checkbox-check-appear{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.fm-checkbox.disabled{cursor:not-allowed;opacity:.7}.fm-checkbox.disabled .fm-checkbox-box{border-color:rgba(var(--vsg-purple-rgb),.3)}.fm-checkbox.disabled.checked .fm-checkbox-box{border-color:rgba(var(--vsg-purple-rgb),.5);background:rgba(var(--vsg-purple-rgb),.15)}.fm-checkbox.disabled:hover .fm-checkbox-box{border-color:rgba(var(--vsg-purple-rgb),.3)}.fm-checkbox.has-label{gap:10px}.fm-checkbox-label{font-family:var(--font-primary);font-size:13px;font-weight:400;color:#fffc;letter-spacing:.5px;line-height:20px}.fm-checkbox-list{display:flex;flex-direction:column;align-items:flex-start}.fm-checkbox-grid{display:grid;align-items:center;align-content:start}.special-cases-selector{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:rgba(var(--vsg-purple-rgb),.05);border-radius:8px;border:1px solid rgba(var(--vsg-purple-rgb),.2)}.special-cases-header{display:flex;align-items:center;justify-content:space-between}.special-cases-title{margin:0;font-size:.875rem;font-weight:400;text-transform:uppercase;letter-spacing:.05em;color:var(--vsg-purple)}.special-cases-options{display:flex;flex-direction:column;gap:.75rem}.special-case-option{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;padding:.5rem .75rem;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:6px;cursor:pointer;transition:all .2s ease}.special-case-option:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.4)}.advantage-disadvantage-group{flex-direction:column;align-items:flex-start;gap:.5rem;cursor:default}.advantage-disadvantage-group:hover{background:rgba(var(--vsg-purple-rgb),.05);border-color:rgba(var(--vsg-purple-rgb),.2)}.advantage-option{display:flex;align-items:center;gap:.75rem;cursor:pointer;width:100%}.inline-config{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;background:rgba(var(--vsg-purple-rgb),.08);border:1px solid rgba(var(--vsg-purple-rgb),.25);border-radius:4px;margin-left:auto}.config-label{font-size:.75rem;font-weight:400;color:rgba(var(--vsg-purple-rgb),.8)}.double-successes-config{display:flex;flex-direction:column;gap:.5rem;width:100%;margin-top:.5rem}.range-row{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:4px}.range-label-bold{font-size:.875rem;font-weight:400;color:var(--vsg-purple);min-width:160px;flex-shrink:0}.range-inputs{display:flex;align-items:center;gap:.5rem;flex:1}.range-text{font-size:.75rem;font-weight:400;color:rgba(var(--vsg-purple-rgb),.8);white-space:nowrap}.range-row-end{margin-left:auto}@media (prefers-color-scheme: dark){.config-label{color:rgba(var(--vsg-purple-rgb),.85)}}.keep-option{display:flex;align-items:center;gap:.75rem}.option-label-short{font-size:.875rem;color:rgba(var(--vsg-purple-rgb),.9);font-weight:400}.keep-dropdown{position:relative}.keep-dropdown--disabled{opacity:.5;pointer-events:none}.keep-dropdown__trigger{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem .75rem;min-width:90px;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;color:var(--vsg-purple);font-size:.875rem;font-weight:400;font-family:var(--font-primary);cursor:pointer;transition:all .2s ease}.keep-dropdown__trigger:hover:not(:disabled){background:#0009;border-color:rgba(var(--vsg-purple-rgb),.5)}.keep-dropdown__trigger:disabled{cursor:not-allowed}.keep-dropdown__menu{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:rgba(var(--vsg-surface-rgb),.98);border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:4px;overflow:hidden;z-index:100;box-shadow:0 4px 12px #00000080;animation:dropdownFadeIn .15s ease-out}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.keep-dropdown__option{display:block;width:100%;padding:.5rem .75rem;background:transparent;border:none;color:var(--vsg-purple);font-size:.875rem;font-weight:400;font-family:var(--font-primary);text-align:left;cursor:pointer;transition:background .15s ease}.keep-dropdown__option:hover{background:rgba(var(--vsg-purple-rgb),.2)}.keep-dropdown__option--selected{background:rgba(var(--vsg-purple-rgb),.15);font-weight:400}.keep-dropdown__option--selected:before{content:"✓ ";color:var(--vsg-purple)}@media (max-width: 600px){.special-case-option{flex-direction:column;align-items:flex-start}.inline-config{margin-left:0;width:100%}.keep-count-input{width:45px}}.chevron-icon{display:inline-flex;align-items:center;justify-content:center;padding:4px;border:none;border-radius:6px;background:transparent;color:var(--vsg-purple);cursor:default;transition:all .2s ease}.chevron-icon-xs{width:16px;height:16px;padding:2px}.chevron-icon-xs .chevron-svg{width:12px;height:12px}.chevron-icon-tiny{width:auto;height:auto;padding:2px 4px;border-radius:0;vertical-align:text-bottom;margin-left:4px;opacity:.7}.chevron-icon-tiny .chevron-svg{width:13px;height:13px}.chevron-icon-small{width:24px;height:24px}.chevron-icon-small .chevron-svg{width:16px;height:16px}.chevron-icon-medium{width:32px;height:32px}.chevron-icon-medium .chevron-svg{width:20px;height:20px}.chevron-icon-tone-secondary{opacity:.7}.chevron-icon-direction-right .chevron-svg{transform:rotate(0);transition:transform .2s ease}.chevron-icon-direction-down .chevron-svg{transform:rotate(90deg);transition:transform .2s ease}.chevron-icon-direction-left .chevron-svg{transform:rotate(180deg);transition:transform .2s ease}.chevron-icon-direction-up .chevron-svg{transform:rotate(270deg);transition:transform .2s ease}.chevron-icon.clickable{cursor:pointer}.chevron-icon.clickable:hover{background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple);transform:scale(1.1)}.chevron-icon-tone-secondary.clickable:hover,.chevron-icon-tiny.clickable:hover{background:transparent;opacity:1;transform:scale(1.2)}.chevron-icon.clickable:active{transform:scale(.95)}.chevron-icon.disabled,.chevron-icon:disabled{opacity:.4;cursor:not-allowed}.dice-pool{background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;padding:16px;min-height:100px;max-height:300px;display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.dice-pool-empty-state{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.dice-pool .dice-pool-empty-state .empty-message{margin:0;font-size:14px!important;font-family:var(--font-primary)!important;font-style:normal!important;font-weight:400!important;color:rgba(var(--vsg-purple-rgb),.5)!important;letter-spacing:.5px}.dice-pool-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.dice-pool-label{font-size:14px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.9);text-transform:uppercase;letter-spacing:1px}.dice-pool-clear-button{width:24px;height:24px;background:rgba(var(--vsg-purple-rgb),.15);border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:6px;color:rgba(var(--vsg-purple-rgb),.8);font-size:16px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding:0;line-height:1}.dice-pool-clear-button:hover{background:rgba(var(--vsg-purple-rgb),.3);border-color:rgba(var(--vsg-purple-rgb),.7);color:var(--vsg-purple);transform:scale(1.1)}.dice-pool-items{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;align-content:flex-start;justify-content:center;min-height:50px;flex:1;overflow-y:auto;overflow-x:hidden;padding:8px 4px 4px}.dice-pool-items::-webkit-scrollbar{width:6px}.dice-pool-items::-webkit-scrollbar-track{background:rgba(var(--vsg-purple-rgb),.1);border-radius:3px}.dice-pool-items::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.4);border-radius:3px}.dice-pool-items::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.6)}@media (max-width: 600px){.dice-pool-items{justify-content:center}}.dice-pool-item{display:flex;align-items:center;justify-content:center;gap:8px;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;padding:10px 12px;position:relative;min-height:44px}.dice-pool-item.clickable-item{cursor:pointer;transition:all .2s ease;min-width:60px;justify-content:center}.dice-pool-item.clickable-item:hover{background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.5);transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--vsg-purple-rgb),.3)}.dice-pool-item.clickable-item .dice-notation{font-size:20px}.dice-notation-input{display:flex;align-items:center;gap:4px}.input-prefix{font-size:18px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.9);font-family:var(--font-primary)}.inline-input{width:50px;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;color:#ffffffe6;font-size:16px;padding:4px 6px;text-align:center;font-family:var(--font-primary);font-weight:400}.inline-input:focus{outline:none;border-color:rgba(var(--vsg-purple-rgb),.6);background:#000000b3}.inline-input::placeholder{color:#fff6}.dice-notation{font-size:18px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.9);font-family:var(--font-primary);min-width:50px;text-align:center}.dice-notation.clickable{cursor:pointer;transition:all .2s ease}.dice-notation.clickable:hover{color:rgba(var(--vsg-purple-rgb),1);text-decoration:underline}.dice-controls{display:flex;gap:4px}.dice-control-button{width:24px;height:24px;background:rgba(var(--vsg-purple-rgb),.2);border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:6px;color:rgba(var(--vsg-purple-rgb),.9);font-size:16px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding:0;line-height:1}.dice-control-button:hover{background:rgba(var(--vsg-purple-rgb),.3);border-color:rgba(var(--vsg-purple-rgb),.7);color:var(--vsg-purple);transform:scale(1.1)}.dice-control-button.decrease:hover:not(:disabled){background:rgba(var(--vsg-error-rgb),.3);border-color:rgba(var(--vsg-error-rgb),.7);color:var(--vsg-error)}.dice-control-button.disabled,.dice-control-button:disabled{opacity:.3;cursor:not-allowed;transform:none!important}.dice-control-button.disabled:hover,.dice-control-button:disabled:hover{background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.4);color:rgba(var(--vsg-purple-rgb),.9);transform:none}.dice-pool-operator-frame{display:flex;align-items:center;justify-content:center;background:rgba(var(--vsg-purple-rgb),.08);border:1px solid rgba(var(--vsg-purple-rgb),.25);border-radius:8px;padding:8px 12px;position:relative;min-width:60px;min-height:40px}.dice-operator-container{position:relative}.dice-operator-button{min-width:50px;height:28px;padding:0 8px;background:rgba(var(--vsg-purple-rgb),.2);border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:6px;color:rgba(var(--vsg-purple-rgb),.9);font-size:16px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:4px;font-family:var(--font-primary)}.dice-operator-button:hover{background:rgba(var(--vsg-purple-rgb),.3);border-color:rgba(var(--vsg-purple-rgb),.7)}.operator-symbol{font-size:18px;font-weight:400}.dice-operator-menu{position:absolute;top:100%;left:0;margin-top:4px;background:#000000f2;border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:8px;padding:4px;min-width:120px;box-shadow:0 4px 12px #00000080;z-index:100}.operator-option{width:100%;padding:8px 12px;background:transparent;border:none;border-radius:6px;color:#ffffffe6;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;font-size:14px;text-align:left}.operator-option:hover{background:rgba(var(--vsg-purple-rgb),.2);color:var(--vsg-purple)}.operator-option.active{background:rgba(var(--vsg-purple-rgb),.3);color:var(--vsg-purple)}.operator-option .operator-symbol{font-size:18px;width:24px;text-align:center}.operator-name{font-size:13px}.formula-editor{display:flex;flex-direction:column;gap:8px;margin-top:8px}.formula-editor-label{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.9);text-transform:uppercase;letter-spacing:1px}.manual-indicator{font-size:11px;color:rgba(var(--vsg-gold-rgb),.8);font-weight:400;text-transform:none;letter-spacing:normal;display:flex;align-items:center;gap:4px}.formula-input-container{position:relative;display:flex;align-items:center}.formula-input{flex:1;padding:12px 40px 12px 12px;background:#00000080;border:2px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:#ffffffe6;font-size:16px;font-family:var(--font-primary);font-weight:400;letter-spacing:.5px;transition:all .2s ease}.formula-input:focus{outline:none;border-color:rgba(var(--vsg-purple-rgb),.6);background:#000000b3;box-shadow:0 0 0 3px rgba(var(--vsg-purple-rgb),.1)}.formula-input.invalid{border-color:rgba(var(--vsg-error-rgb),.5)}.formula-input::placeholder{color:rgba(var(--vsg-purple-rgb),.4);font-style:normal;font-family:var(--font-primary);font-weight:400}.formula-hints{color:rgba(var(--vsg-purple-rgb),.6)}.formula-editor .formula-hints .hint-text{display:flex;align-items:center;gap:6px;font-size:13px!important;font-family:var(--font-primary)!important;color:rgba(var(--vsg-purple-rgb),.6)}.formula-error{padding:8px 12px;background:rgba(var(--vsg-error-rgb),.15);border:1px solid rgba(var(--vsg-error-rgb),.3);border-radius:6px;color:rgba(var(--vsg-error-rgb),.9);font-size:13px}.roll-count-field{display:flex;align-items:center;gap:12px}.roll-count-label{font-size:14px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.9);text-transform:uppercase;letter-spacing:1px}.roll-count-control{display:flex;align-items:center;gap:0}.roll-count-button{width:36px;height:36px;background:rgba(var(--vsg-purple-rgb),.15);border:2px solid rgba(var(--vsg-purple-rgb),.3);color:var(--vsg-purple);font-size:1.25rem;font-weight:400;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding:0}.roll-count-button.decrement{border-radius:8px 0 0 8px;border-right:none}.roll-count-button.increment{border-radius:0 8px 8px 0;border-left:none}.roll-count-button:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.3);border-color:rgba(var(--vsg-purple-rgb),.6)}.roll-count-button:disabled{opacity:.3;cursor:not-allowed}.roll-count-input{width:60px;height:36px;padding:0 8px;background:#00000080;border:2px solid rgba(var(--vsg-purple-rgb),.3);border-radius:0;color:var(--vsg-purple);font-size:1.25rem;font-family:var(--font-primary);font-weight:400;text-align:center;transition:all .2s ease}.roll-count-input:focus{outline:none;border-color:rgba(var(--vsg-purple-rgb),.6);background:#000000b3}.roll-count-input::-webkit-outer-spin-button,.roll-count-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.roll-count-input[type=number]{-moz-appearance:textfield}.description-field{display:flex;flex-direction:column;gap:8px}.description-field-label{font-size:14px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.9);text-transform:uppercase;letter-spacing:1px}.description-textarea{min-height:80px;padding:12px;background:#00000080;border:2px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:#ffffffe6;font-size:14px;font-family:inherit;line-height:1.5;resize:vertical;transition:all .2s ease}.description-textarea:focus{outline:none;border-color:rgba(var(--vsg-purple-rgb),.6);background:#000000b3;box-shadow:0 0 0 3px rgba(var(--vsg-purple-rgb),.1)}.description-textarea::placeholder{color:#fff6;font-style:normal}.roll-results{display:flex;flex-direction:column;gap:24px;padding:12px 16px;background:rgba(var(--vsg-purple-rgb),.05);border-radius:8px;border:1px solid rgba(var(--vsg-purple-rgb),.2);margin-top:24px;position:relative}.roll-results:before{content:"";position:absolute;top:-20px;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,rgba(var(--vsg-purple-rgb),.5) 20%,rgba(var(--vsg-purple-rgb),.5) 80%,transparent 100%)}.roll-results.empty{display:flex;align-items:center;justify-content:center;min-height:60px;margin-top:0;padding-top:.75rem;padding-bottom:.75rem}.roll-results.empty:before{display:none}.roll-results-placeholder{display:flex;flex-direction:column;align-items:center;gap:.75rem;opacity:.6}.placeholder-icon{font-size:3rem}:where(.roll-results) .placeholder-text{margin:0}.roll-total{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem;background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.15),rgba(var(--vsg-purple-rgb),.05));border-radius:8px;border:2px solid var(--vsg-purple)}:where(.roll-results) .total-label{font-size:.875rem;font-weight:400;text-transform:uppercase;letter-spacing:.05em;color:var(--vsg-purple)}:where(.roll-results) .total-value{font-size:3.5rem;font-weight:400;color:var(--vsg-purple);line-height:1;font-family:var(--font-primary);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.roll-formula{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;background:rgba(var(--vsg-purple-rgb),.08);border-radius:6px;font-family:var(--font-primary);font-variant-numeric:tabular-nums;letter-spacing:.01em}.formula-label{font-size:.875rem;font-weight:400;color:#ffffff87}.formula-value{font-size:1rem;color:var(--vsg-purple);font-weight:400}.reroll-question{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;margin-bottom:16px}.reroll-question-text{font-size:14px;font-weight:400;color:var(--vsg-purple);text-align:center;font-family:var(--font-primary);letter-spacing:.5px}.reroll-buttons{display:flex;gap:12px}.reroll-buttons button{min-width:100px}.reroll-cooldown-message{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;background:rgba(var(--vsg-magenta-rgb),.15);border:1px solid rgba(var(--vsg-magenta-rgb),.4);border-radius:6px;margin-bottom:8px}.cooldown-icon{font-size:1rem;color:var(--vsg-magenta)}.cooldown-text{font-size:.875rem;font-weight:400;color:var(--vsg-magenta)}.roll-posted-message{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;background:rgba(var(--vsg-success-rgb),.15);border:1px solid rgba(var(--vsg-success-rgb),.4);border-radius:6px;margin-bottom:16px!important}:where(.roll-results) .roll-description{padding:1rem;background:rgba(var(--vsg-purple-rgb),.08);border:1px solid rgba(var(--vsg-purple-rgb),.25);border-radius:6px}.posted-icon{font-size:1.25rem;color:var(--vsg-success);font-weight:400}.posted-text{font-size:.875rem;font-weight:400;text-transform:uppercase;letter-spacing:.05em;color:var(--vsg-success)}.difficulty-result{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;border-radius:8px;border:2px solid}.difficulty-result.success{background:rgba(var(--vsg-success-rgb),.15);border-color:var(--vsg-success)}.difficulty-result.failure{background:rgba(var(--vsg-error-rgb),.15);border-color:var(--vsg-error)}.difficulty-result .result-icon{font-size:2.5rem;font-weight:400}.difficulty-result.success .result-icon{color:var(--vsg-success)}.difficulty-result.failure .result-icon{color:var(--vsg-error)}.difficulty-result .result-text{font-size:1.25rem;font-weight:400;text-transform:uppercase;letter-spacing:.05em}.difficulty-result.success .result-text{color:var(--vsg-success)}.difficulty-result.failure .result-text{color:var(--vsg-error)}.difficulty-result .result-detail{font-size:.875rem;color:rgba(var(--vsg-purple-rgb),.7);font-family:var(--font-primary);font-variant-numeric:tabular-nums;letter-spacing:.01em}.roll-breakdown-compact{display:flex;align-items:center;justify-content:center;padding:.5rem 1rem;background:rgba(var(--vsg-purple-rgb),.08);border-radius:6px;border:1px solid rgba(var(--vsg-purple-rgb),.2);margin-bottom:16px!important}:where(.roll-results) .breakdown-text{font-family:var(--font-primary);font-size:1rem;font-weight:400;color:var(--vsg-purple);text-align:center;word-break:break-word;line-height:1.5;font-variant-numeric:tabular-nums;letter-spacing:.01em}.roll-results-actions{display:flex;gap:.75rem;padding-top:.5rem;border-top:1px solid rgba(var(--vsg-purple-rgb),.2)}.roll-results-button{flex:1;padding:.75rem 1.5rem;border-radius:6px;font-size:.875rem;font-weight:400;cursor:pointer;transition:all .2s ease;border:none;outline:none}.roll-results-button.primary{background:var(--vsg-purple);color:#fff}.roll-results-button.primary:hover{background:var(--vsg-purple);transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--vsg-purple-rgb),.3)}.roll-results-button.primary:active{transform:translateY(0)}.roll-results-button.secondary{background:rgba(var(--vsg-purple-rgb),.1);color:var(--vsg-purple);border:1px solid rgba(var(--vsg-purple-rgb),.3)}.roll-results-button.secondary:hover{background:rgba(var(--vsg-purple-rgb),.15);border-color:var(--vsg-purple)}.roll-results-button.secondary:active{background:rgba(var(--vsg-purple-rgb),.2)}.roll-multiple-results{display:flex;flex-direction:column;gap:12px}.multiple-results-header{font-size:14px;font-weight:400;color:var(--vsg-purple);text-transform:uppercase;letter-spacing:1px;text-align:center;padding-bottom:8px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.multiple-results-grid{display:flex;flex-direction:column;gap:8px}.multiple-result-item{display:flex;align-items:center;gap:12px;padding:10px 14px;background:rgba(var(--vsg-purple-rgb),.08);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px}.multiple-result-item .result-index{font-size:14px;font-weight:400;color:var(--vsg-purple);min-width:30px;font-family:var(--font-primary)}.multiple-result-item .result-breakdown{flex:1;font-size:14px;color:rgba(var(--vsg-purple-rgb),.8);font-family:var(--font-primary);font-variant-numeric:tabular-nums}.multiple-result-item .result-total-value{font-size:24px;font-weight:400;color:var(--vsg-purple);min-width:50px;text-align:right;font-family:var(--font-primary);font-variant-numeric:tabular-nums}.dropped-roll{text-decoration:line-through;opacity:.5;color:rgba(var(--vsg-purple-rgb),.5)}.dice-rolls{display:inline}.save-formula-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10001;padding:20px}.save-formula-modal{background:transparent;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(var(--vsg-purple-rgb),.4);border-radius:12px;box-shadow:0 10px 40px rgba(var(--vsg-purple-rgb),.3);width:100%;max-width:450px;display:flex;flex-direction:column;animation:modalFadeIn .2s ease-out}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.save-formula-header{padding:16px 20px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.3);display:flex;align-items:center;justify-content:space-between}.save-formula-title{margin:0;font-family:var(--font-primary);font-size:18px;font-weight:400;color:var(--vsg-purple);letter-spacing:.5px}.save-formula-close{width:28px;height:28px;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:rgba(var(--vsg-purple-rgb),.8);font-size:16px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding:0}.save-formula-close:hover{background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.6);color:var(--vsg-purple)}.save-formula-body{padding:20px;display:flex;flex-direction:column;gap:16px}:where(.save-formula-overlay) .formula-preview{display:flex;align-items:center;gap:8px;padding:10px 14px;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.25);border-radius:6px}:where(.save-formula-overlay) .formula-preview-label{font-size:13px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.7)}:where(.save-formula-overlay) .formula-preview-value{font-size:15px;font-weight:400;font-family:var(--font-primary);color:var(--vsg-purple)}.save-formula-field{display:flex;flex-direction:column;gap:6px;position:relative}.save-formula-label{font-size:13px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.9);text-transform:uppercase;letter-spacing:.5px}.save-formula-input{padding:10px 12px;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:#ffffffe6;font-size:14px;font-family:inherit;transition:all .2s ease}.save-formula-input:focus{outline:none;border-color:rgba(var(--vsg-purple-rgb),.6);background:#000000b3;box-shadow:0 0 0 2px rgba(var(--vsg-purple-rgb),.15)}.save-formula-input::placeholder{color:#fff6}:where(.save-formula-overlay) .char-count{position:absolute;right:10px;bottom:10px;font-size:11px;color:rgba(var(--vsg-purple-rgb),.5)}.save-formula-textarea{padding:10px 12px;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:#ffffffe6;font-size:14px;font-family:inherit;resize:vertical;min-height:60px;transition:all .2s ease}.save-formula-textarea:focus{outline:none;border-color:rgba(var(--vsg-purple-rgb),.6);background:#000000b3;box-shadow:0 0 0 2px rgba(var(--vsg-purple-rgb),.15)}.save-formula-textarea::placeholder{color:#fff6}.save-formula-option{display:flex;align-items:center;gap:10px;padding:8px 0}:where(.save-formula-overlay) .option-text{font-size:14px;color:#ffffffd9}.limit-warning{display:flex;align-items:center;gap:8px;padding:10px 12px;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.25);border-radius:6px;font-size:13px;color:rgba(var(--vsg-purple-rgb),.9)}.limit-warning.limit-reached{background:rgba(var(--vsg-error-rgb),.1);border-color:rgba(var(--vsg-error-rgb),.3);color:rgba(var(--vsg-error-rgb),.9)}:where(.save-formula-overlay) .warning-icon{font-size:16px}.upgrade-link{background:none;border:none;color:var(--vsg-purple);font-size:13px;font-weight:400;cursor:pointer;text-decoration:underline;padding:0;margin-left:auto}.upgrade-link:hover{color:var(--vsg-purple)}.save-formula-error{padding:10px 12px;background:rgba(var(--vsg-error-rgb),.15);border:1px solid rgba(var(--vsg-error-rgb),.3);border-radius:6px;color:rgba(var(--vsg-error-rgb),.95);font-size:13px}.save-formula-footer{padding:16px 20px;border-top:1px solid rgba(var(--vsg-purple-rgb),.3);display:flex;justify-content:flex-end;gap:12px}.edit-formula-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10001;padding:20px}.edit-formula-modal{background:transparent;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(var(--vsg-purple-rgb),.4);border-radius:12px;box-shadow:0 10px 40px rgba(var(--vsg-purple-rgb),.3);width:100%;max-width:450px;display:flex;flex-direction:column;animation:editModalFadeIn .2s ease-out}@keyframes editModalFadeIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.edit-formula-header{padding:16px 20px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.3);display:flex;align-items:center;justify-content:space-between;gap:16px}.edit-formula-title{margin:0;font-family:var(--font-primary);font-size:18px;font-weight:400;color:var(--vsg-purple);letter-spacing:.5px}.edit-formula-step-indicator{display:flex;align-items:center;gap:8px;flex:1;justify-content:center}.step-line{width:30px;height:2px;background:rgba(var(--vsg-purple-rgb),.3)}.edit-formula-close{width:28px;height:28px;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:rgba(var(--vsg-purple-rgb),.8);font-size:16px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding:0}.edit-formula-close:hover{background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.6);color:var(--vsg-purple)}.edit-formula-body{padding:20px;display:flex;flex-direction:column;gap:16px}.formula-preview{display:flex;align-items:center;gap:8px;padding:10px 14px;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.25);border-radius:6px}.formula-preview-label{font-size:13px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.7)}.formula-preview-value{font-size:15px;font-weight:400;font-family:var(--font-primary);color:var(--vsg-purple)}.edit-formula-field{display:flex;flex-direction:column;gap:6px;position:relative}.edit-formula-label{font-size:13px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.9);text-transform:uppercase;letter-spacing:.5px}.edit-formula-input{padding:10px 12px;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:#ffffffe6;font-size:14px;font-family:inherit;transition:all .2s ease}.edit-formula-input:focus{outline:none;border-color:rgba(var(--vsg-purple-rgb),.6);background:#000000b3;box-shadow:0 0 0 2px rgba(var(--vsg-purple-rgb),.15)}.edit-formula-input::placeholder{color:#fff6}.char-count{position:absolute;right:10px;bottom:10px;font-size:11px;color:rgba(var(--vsg-purple-rgb),.5)}.edit-formula-textarea{padding:10px 12px;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:#ffffffe6;font-size:14px;font-family:inherit;resize:vertical;min-height:60px;transition:all .2s ease}.edit-formula-textarea:focus{outline:none;border-color:rgba(var(--vsg-purple-rgb),.6);background:#000000b3;box-shadow:0 0 0 2px rgba(var(--vsg-purple-rgb),.15)}.edit-formula-textarea::placeholder{color:#fff6}.edit-formula-option{display:flex;align-items:center;gap:10px;padding:8px 0}.option-text{font-size:14px;color:#ffffffd9}.edit-formula-error{padding:10px 12px;background:rgba(var(--vsg-error-rgb),.15);border:1px solid rgba(var(--vsg-error-rgb),.3);border-radius:6px;color:rgba(var(--vsg-error-rgb),.95);font-size:13px}.edit-formula-footer{padding:16px 20px;border-top:1px solid rgba(var(--vsg-purple-rgb),.3);display:flex;justify-content:flex-end;gap:12px}.dice-roller-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10002;padding:20px}.dice-roller-modal{background:transparent;border:2px solid rgba(var(--vsg-purple-rgb),.4);border-radius:16px;box-shadow:0 10px 50px rgba(var(--vsg-purple-rgb),.3);width:100%;max-width:907px;max-height:calc(90 * var(--vh-fit));display:flex;flex-direction:column;overflow:hidden}.dice-roller-header{padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.3);display:flex;align-items:center;justify-content:space-between;background:rgba(var(--vsg-purple-rgb),.05)}.dice-roller-title{margin:0;font-family:var(--font-primary);font-size:24px;font-weight:400;color:var(--vsg-purple);letter-spacing:1px;display:flex;align-items:center;gap:12px}:where(.dice-roller-overlay) .title-icon{font-size:28px}.dice-roller-header-actions{display:flex;align-items:center;gap:12px}.dice-roller-close{width:32px;height:32px;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:rgba(var(--vsg-purple-rgb),.8);font-size:20px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding:0}.dice-roller-close:hover{background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.6);color:var(--vsg-purple);transform:scale(1.1)}.my-rolls-dropdown{position:relative}.my-rolls-button{display:flex;align-items:center;gap:8px;padding:8px 14px;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:rgba(var(--vsg-purple-rgb),.9);font-family:var(--font-primary);font-size:13px;font-weight:400;cursor:pointer;transition:all .2s ease}.my-rolls-button:hover{background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.5)}.my-rolls-button.open{background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.6)}.my-rolls-label{letter-spacing:.5px}.my-rolls-arrow{font-size:10px;opacity:.7;transition:transform .2s ease}.my-rolls-menu{position:absolute;top:100%;right:0;margin-top:8px;min-width:220px;width:max-content;max-height:300px;overflow-y:auto;background:rgba(var(--vsg-surface-rgb),.98);border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:10px;box-shadow:0 8px 32px #00000080,0 0 20px rgba(var(--vsg-purple-rgb),.2);z-index:1000;animation:myRollsFadeIn .15s ease-out}@keyframes myRollsFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.my-rolls-menu::-webkit-scrollbar{width:6px}.my-rolls-menu::-webkit-scrollbar-track{background:rgba(var(--vsg-purple-rgb),.1);border-radius:3px}.my-rolls-menu::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.4);border-radius:3px}.my-rolls-loading,.my-rolls-empty{padding:16px;text-align:center;color:rgba(var(--vsg-purple-rgb),.6);font-size:13px;font-family:var(--font-primary)}.my-rolls-item{display:flex;align-items:center;width:100%;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15);transition:all .15s ease}.my-rolls-item:last-child{border-bottom:none}.my-rolls-item:hover{background:rgba(var(--vsg-purple-rgb),.1)}.my-rolls-item-content{display:flex;flex-direction:column;align-items:flex-start;gap:4px;flex:1;padding:12px 8px 12px 16px;background:transparent;border:none;cursor:pointer;text-align:left}.my-rolls-item-content:hover{background:rgba(var(--vsg-purple-rgb),.1)}.my-rolls-item-name{font-family:var(--font-primary);font-size:14px;font-weight:400;color:var(--vsg-purple);letter-spacing:.3px}.my-rolls-item-formula{font-family:var(--font-primary);font-size:12px;color:#ffffffb3;white-space:nowrap}.my-rolls-edit,.my-rolls-delete{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid transparent;border-radius:6px;color:rgba(var(--vsg-purple-rgb),.5);cursor:pointer;transition:all .15s ease;flex-shrink:0}.my-rolls-delete{margin-right:8px}.my-rolls-edit:hover{background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.4);color:var(--vsg-purple)}.my-rolls-delete:hover{background:rgba(var(--vsg-magenta-rgb),.2);border-color:rgba(var(--vsg-magenta-rgb),.4);color:var(--vsg-magenta)}.my-rolls-item--locked{opacity:.4;pointer-events:none;background:#0000004d}.my-rolls-item--locked .my-rolls-item-content{cursor:not-allowed}.my-rolls-item--locked .my-rolls-item-name{color:rgba(var(--vsg-purple-rgb),.4)}.my-rolls-item--locked .my-rolls-item-formula{color:#ffffff4d}.my-rolls-lock-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;margin-right:8px;color:rgba(var(--vsg-purple-rgb),.4);flex-shrink:0;pointer-events:auto}.my-rolls-item--empty{justify-content:center;padding:12px 16px;border-style:dashed;border-color:rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.02)}.my-rolls-empty-slot{font-family:var(--font-primary);font-size:13px;font-style:normal;color:rgba(var(--vsg-purple-rgb),.4);letter-spacing:.3px}.my-rolls-upgrade{padding:12px 16px;text-align:center;font-family:var(--font-primary);font-size:11px;color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.1);border-top:1px solid rgba(var(--vsg-purple-rgb),.3);letter-spacing:.3px;text-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.4)}.dice-roller-body{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:24px}.dice-roller-body::-webkit-scrollbar{width:8px}.dice-roller-body::-webkit-scrollbar-track{background:rgba(var(--vsg-purple-rgb),.1);border-radius:4px}.dice-roller-body::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.4);border-radius:4px}.dice-roller-body::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.6)}.reroll-status-banner{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:8px;margin-bottom:8px}.reroll-status-banner .status-icon{font-size:1.1rem}.reroll-status-banner .status-text{font-size:.9rem;font-weight:400;font-family:var(--font-primary);font-variant-numeric:tabular-nums}.reroll-status-banner.cooldown{background:rgba(var(--vsg-magenta-rgb),.15);border:1px solid rgba(var(--vsg-magenta-rgb),.4)}.reroll-status-banner.cooldown .status-icon,.reroll-status-banner.cooldown .status-text{color:var(--vsg-magenta)}.reroll-status-banner.available{background:rgba(var(--vsg-success-rgb),.15);border:1px solid rgba(var(--vsg-success-rgb),.4)}.reroll-status-banner.available .status-icon,.reroll-status-banner.available .status-text{color:var(--vsg-success)}.edit-mode-step-indicator{display:flex;align-items:center;gap:8px;margin-left:16px}.edit-mode-step-indicator .step-dot{width:24px;height:24px;border-radius:50%;background:rgba(var(--vsg-purple-rgb),.15);border:2px solid rgba(var(--vsg-purple-rgb),.3);color:rgba(var(--vsg-purple-rgb),.5);font-size:12px;font-weight:400;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.edit-mode-step-indicator .step-dot.active{background:rgba(var(--vsg-purple-rgb),.3);border-color:var(--vsg-purple);color:var(--vsg-purple);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.4)}.edit-mode-step-indicator .step-dot.completed{background:var(--vsg-purple);border-color:var(--vsg-purple);color:#fff}.edit-mode-step-indicator .step-line{width:30px;height:2px;background:rgba(var(--vsg-purple-rgb),.3)}.edit-mode-banner{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;margin-bottom:8px}.edit-mode-banner .edit-mode-label{font-size:13px;color:rgba(var(--vsg-purple-rgb),.8)}.edit-mode-banner .edit-mode-name{font-family:var(--font-primary);font-size:15px;font-weight:400;color:var(--vsg-purple)}.dice-roller-footer{padding:16px 24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.3);background:#0000004d;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:70px}:where(.dice-roller-modal) .footer-left{display:flex;gap:12px;align-items:center;flex:0 0 auto}:where(.dice-roller-modal) .footer-center{display:flex;gap:12px;align-items:center;justify-content:center;flex:1 1 auto}:where(.dice-roller-modal) .footer-right{display:flex;gap:12px;align-items:center;flex:0 0 auto}.dice-roller-button{padding:12px 24px;border-radius:8px;font-size:14px;font-weight:400;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:all .2s ease;border:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;flex-shrink:0;min-width:100px}.dice-roller-button.primary{background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.3),rgba(var(--vsg-purple-rgb),.19));color:var(--vsg-purple);border:2px solid rgba(var(--vsg-purple-rgb),.5)}.dice-roller-button.primary:hover:not(:disabled){background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.4),rgba(var(--vsg-purple-rgb),.25));border-color:rgba(var(--vsg-purple-rgb),.8);transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--vsg-purple-rgb),.4)}.dice-roller-button.primary:disabled{opacity:.3;cursor:not-allowed}.dice-roller-button.secondary{background:#00000080;color:#fffc;border:2px solid rgba(var(--vsg-purple-rgb),.3)}.dice-roller-button.secondary:hover{background:#000000b3;border-color:rgba(var(--vsg-purple-rgb),.5);color:#ffffffe6}@media (max-width: 600px){.dice-roller-modal{max-width:95%}.dice-roller-header{padding:16px}.dice-roller-title{font-size:20px}.dice-roller-body{padding:16px}.dice-roller-footer{flex-direction:column;align-items:stretch}:where(.dice-roller-modal) .footer-left,:where(.dice-roller-modal) .footer-center,:where(.dice-roller-modal) .footer-right{width:100%;justify-content:center}}.dice-roller-locked-config{display:flex;flex-direction:column;gap:.75rem;padding:.5rem 0;opacity:.8;pointer-events:none}.formula-locked-description{font-size:1rem;color:#ffffffd9;text-align:center;padding:.5rem 0}.formula-editor--readonly{padding:.5rem 0}.formula-readonly-value{font-family:var(--font-primary);font-size:1.25rem;font-weight:400;color:var(--vsg-purple);letter-spacing:1px;padding:.5rem .75rem;background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;display:inline-block}.dice-roller-locked-config .locked-value{font-family:var(--font-primary);font-size:1.1rem;font-weight:400;color:var(--vsg-purple)}.difficulty-selector--readonly{padding:.5rem 0}.difficulty-readonly-row{display:flex;align-items:center;gap:.5rem}.difficulty-readonly-value{font-family:var(--font-primary);font-size:1.1rem;font-weight:400;color:var(--vsg-purple)}.difficulty-readonly-mode{font-size:.85rem;color:#ffffff80}.special-cases-selector.special-cases-selector--readonly{background:none;border:none;padding:.25rem 0;flex-direction:row;align-items:center;gap:.75rem}.special-cases-selector--readonly .special-cases-title{margin:0;flex-shrink:0}.special-cases-readonly-list{display:flex;flex-wrap:wrap;gap:.5rem}.special-cases-readonly-item{display:flex;align-items:center;gap:.35rem;padding:.35rem .75rem;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.25);border-radius:6px;font-size:.85rem}.special-cases-readonly-label{color:#ffffffb3}.special-cases-readonly-value{font-weight:400;color:var(--vsg-purple)}:root{--bp-page-gutter-tight: 600px;--bp-sidebar-collapse: 900px;--bp-page-max-narrow: 1200px;--bp-fit-engages: 570px}:root{--ui-fit: 1;--ui-prose-fit: 1;--ui-nav-slack: 1;--fit-floor: .72;--fit-prose-floor: .86;--vh-fit: calc(1vh / var(--ui-fit));--vw-fit: calc(1vw / var(--ui-fit));--dvh-fit: calc(1dvh / var(--ui-fit))}body{zoom:var(--ui-fit)}.ui-prose{zoom:calc(var(--ui-prose-fit) / var(--ui-fit))}.ui-prose .ui-prose{zoom:1}html[data-motion=paused] *,html[data-motion=paused] *:before,html[data-motion=paused] *:after{animation-play-state:paused!important}html[data-motion=reduced] *,html[data-motion=reduced] *:before,html[data-motion=reduced] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-fill-mode:both!important}:root{--glow-button-rest: 0 0 20px rgba(var(--vsg-purple-rgb), .2), 0 0 40px rgba(var(--vsg-purple-rgb), .1);--glow-button-peak: 0 0 30px rgba(var(--vsg-purple-rgb), .3), 0 0 60px rgba(var(--vsg-purple-rgb), .2);--glow-button-period: 3s;--glow-button-magenta-rest: 0 0 20px rgba(var(--vsg-magenta-rgb), .2), 0 0 40px rgba(var(--vsg-magenta-rgb), .1);--glow-button-magenta-peak: 0 0 30px rgba(var(--vsg-magenta-rgb), .3), 0 0 60px rgba(var(--vsg-magenta-rgb), .2);--glow-avatar-rest: 0 0 25px rgba(var(--vsg-purple-radiant-rgb), .8);--glow-avatar-peak: 0 0 30px rgba(var(--vsg-purple-radiant-rgb), .9);--glow-avatar-inset: inset 0 0 20px rgba(var(--vsg-purple-radiant-rgb), .4);--glow-title-rest: 0 0 20px var(--vsg-purple-radiant), 0 0 40px rgba(var(--vsg-purple-radiant-rgb), .5), 0 0 60px rgba(var(--vsg-purple-radiant-rgb), .3);--glow-title-peak: 0 0 30px var(--vsg-purple-radiant), 0 0 60px rgba(var(--vsg-purple-radiant-rgb), .7), 0 0 80px rgba(var(--vsg-purple-radiant-rgb), .4);--glow-slogan-rest: 0 0 10px rgba(var(--vsg-purple-radiant-rgb), .6);--glow-slogan-peak: 0 0 15px rgba(var(--vsg-purple-radiant-rgb), .8)}@keyframes vsg-pulse{0%,to{opacity:0}50%{opacity:1}}:where(.vsg-glow){position:relative;box-shadow:var(--glow-rest, none),var(--glow-static, 0 0 0 transparent)}.vsg-glow:not(:has(>.vsg-motion-layer)):after,.vsg-glow>.vsg-motion-layer{content:"";position:absolute;inset:var(--glow-inset, 0);border-radius:var(--glow-radius, inherit);pointer-events:none;box-shadow:var(--glow-peak);border:var(--glow-border, 0 none);opacity:0;animation:vsg-pulse var(--glow-period, 3s) var(--glow-ease, ease-in-out) infinite;animation-play-state:var(--glow-play, running)}.vsg-glow>.vsg-motion-layer{display:block;z-index:0}:where(.vsg-glow-text){position:relative;text-shadow:var(--glow-rest, none)}.vsg-glow-text:after{content:attr(data-text);position:absolute;top:0;right:0;bottom:0;left:0;color:transparent;text-shadow:var(--glow-peak);pointer-events:none;-webkit-user-select:none;user-select:none;opacity:0;animation:vsg-pulse var(--glow-period, 2s) var(--glow-ease, ease-in-out) infinite}@keyframes vsg-flow{0%,to{transform:translate(0)}50%{transform:translate(-50%)}}:where(.vsg-gradient-flow){position:relative;overflow:hidden;isolation:isolate}.vsg-gradient-flow:not(:has(>.vsg-motion-layer)):before,.vsg-gradient-flow>.vsg-motion-layer{content:"";position:absolute;top:0;bottom:0;left:0;width:200%;background:var(--flow-gradient);pointer-events:none;z-index:-1;animation:vsg-flow var(--flow-period, 5s) var(--flow-ease, ease) infinite}@keyframes vsg-sweep{0%{transform:translate(-100%);opacity:.6}50%{opacity:1}to{transform:translate(100%);opacity:.6}}:where(.vsg-sweep){position:relative;overflow:hidden}.vsg-sweep:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--sweep-gradient);pointer-events:none;animation:vsg-sweep var(--sweep-period, 1.5s) ease-in-out infinite}:root{--fluid-tab-label: clamp(14px, calc(1.76vw * var(--ui-nav-slack)), 16px);--fluid-tab-pad-x: clamp(16px, calc(2.64vw * var(--ui-nav-slack)), 24px);--fluid-page-gutter: clamp(16px, 4.39vw, 40px)}:root{--control-h-xs: 32px;--control-h-sm: 40px;--control-h-md: 56px;--control-h-lg: 64px;--control-pad-xs: 0 12px;--control-pad-sm: 10px 20px;--control-pad-md: 14px 32px;--control-pad-lg: 18px 48px;--control-minw-xs: 80px;--control-label-sm: 12px;--control-label-md: 14px;--control-gap: 12px;--toggle-h-xs: 22px;--toggle-h-sm: 32px;--toggle-h-md: 40px;--toggle-h-lg: 48px;--toggle-pad-xs: 0 10px;--toggle-pad-sm: 6px 16px;--toggle-pad-md: 8px 24px;--toggle-pad-lg: 12px 32px;--toggle-label-xs: 11px;--toggle-label-sm: 12px;--toggle-label-md: 14px;--toggle-label-lg: 16px;--chrome-gap-sm: 8px;--chrome-gap-md: 12px;--chrome-gap-lg: 20px;--chrome-gap-chip: 10px;--action-row-scroll-min: 200px;--header-card-pad-y: clamp(8px, 1.1vw, 10px);--header-card-pad-x: clamp(16px, 3.3vw, 30px);--header-card-minh: 50px;--chip-pad: 4px 12px;--avatar-size: 40px;--avatar-ring-size: 64px;--avatar-initials-size: 16px;--chip-name-size: 16px;--chip-text-gap: 4px;--tabbar-inset: 10px;--tab-pad-y: clamp(10px, 1.32vw, 12px);--filter-h: 34px;--filter-pad: 8px 24px;--filter-label: 14px;--filter-icon: 16px;--filter-badge: 16px;--filter-badge-label: 10px;--filter-badge-pad: 0 4px;--filter-group-gap: 64px;--segment-frame-pad: 4px;--segment-pad: 12px 24px;--segment-gap: 8px;--segment-label: 16px;--segment-label-lg: 17.6px;--segment-label-sm: 14.4px;--segment-action-pad: 8px 20px;--main-tab-pad: 8px calc(16px + 8px * var(--ui-nav-slack));--main-tab-label: calc(14px + 1.2px * var(--ui-nav-slack));--nav-action-pad: 6px 16px;--nav-action-label: 13.6px;--logo-size-md: 48px;--logo-slogan-size-md: 6.4px;--page-header-pad-y: 16px;--page-header-pad-x: calc(2rem + 32px) ;--page-title-tracking: 1px;--page-header-gap: 12px;--page-title-size: clamp(20px, 3.5vw, 32px)}:root{--z-layer-hint: 100000}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:modalFadeIn .2s ease}.modal-overlay--elevated{z-index:9000}.modal-overlay--top{z-index:10000}.modal-overlay--topmost{z-index:10500}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/Inter-Regular-e1-CkdR6H24.woff2) format("woff2")}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/Nunito-Regular-e1-YDDnkTfh.woff2) format("woff2")}@font-face{font-family:Merriweather;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/Merriweather-Regular-e1-CsOIbpjh.woff2) format("woff2")}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/PlayfairDisplay-Regular-e1-BDg0hoJQ.woff2) format("woff2")}@font-face{font-family:Lora;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/Lora-Regular-e1-Bndoum4K.woff2) format("woff2")}@font-face{font-family:Cinzel;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/Cinzel-Regular-e1-RBT8QtPq.woff2) format("woff2")}@font-face{font-family:Uncial Antiqua;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/UncialAntiqua-Regular-e1-B5DEiwcg.woff2) format("woff2")}@font-face{font-family:Dancing Script;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/DancingScript-Regular-e1-Bdc4sec0.woff2) format("woff2")}@font-face{font-family:Caveat;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/Caveat-Regular-e1-ByfxTfnr.woff2) format("woff2")}@font-face{font-family:Fira Code;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/FiraCode-Regular-e1-CKfnkVdO.woff2) format("woff2")}@font-face{font-family:Source Code Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/SourceCodePro-Regular-e1-B9qUofsQ.woff2) format("woff2")}.vsg-label{color:rgba(var(--vsg-purple-rgb),.7);font-weight:400}.vsg-emphasis{color:#fffffff2;font-weight:400}@font-face{font-family:Andalucia;src:url(/assets/Andalucia-e1-Cd33JVH9.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Poppins;src:url(/assets/Poppins-ExtraLight-e1-B8tqA5oA.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/assets/Poppins-Light-e1-Dku2WoCh.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/assets/Poppins-Medium-e1-ChvFccz8.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/assets/Poppins-SemiBold-e1-Dpha3Bg8.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/assets/Poppins-Bold-e1-D5PCC94q.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--font-primary: "Poppins", sans-serif;--rarity-normal: rgba(255, 255, 255, .62);--rarity-mastercraft: var(--vsg-info);--rarity-rare: var(--vsg-info);--rarity-magic: var(--vsg-success);--rarity-epic: var(--vsg-purple);--rarity-legendary: var(--vsg-caution);--rarity-artifact: var(--vsg-error)}*{margin:0;padding:0;box-sizing:border-box;font-family:var(--font-primary)}h1,h2,h3,h4,h5,h6{font-weight:400;font-style:normal}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}body{font-family:var(--font-primary);background:var(--vsg-surface);color:#ffffffed;min-height:calc(100 * var(--vh-fit));position:relative;overflow-x:hidden;overflow-y:scroll;margin:0;padding:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0000004d;border-radius:4px}::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.2);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.3)}body:before{content:"";position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:calc(80 * var(--vh-fit));height:calc(80 * var(--vh-fit));background-image:url(/assets/icon-e1-DkobLSg-.png);background-size:contain;background-position:center;background-repeat:no-repeat;opacity:1;z-index:0;pointer-events:none}body:has(.dashboard-page):before{display:none}.dashboard h2{margin-bottom:2rem;color:var(--vsg-purple);font-weight:300;letter-spacing:1px}.control-panel{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}.cop-control,.quick-stats,.system-info{background:rgba(var(--vsg-surface-rgb),.8);padding:1.5rem;border-radius:.5rem;border:1px solid rgba(var(--vsg-purple-rgb),.2);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.cop-control h3,.quick-stats h3,.system-info h3{margin-bottom:1rem;color:var(--vsg-purple);font-weight:300;letter-spacing:.5px}.quick-stats ul{list-style:none}.quick-stats li{padding:.5rem 0;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.1);color:#fffc}.btn-danger{background:linear-gradient(135deg,var(--vsg-error),var(--vsg-error))}.btn-small{padding:.5rem 1rem;font-size:.875rem}.campaign-setup input{display:block;width:100%;max-width:400px;padding:.75rem;margin:1rem 0;background:rgba(var(--vsg-surface-rgb),.8);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:.25rem;color:#fff;font-size:1rem;transition:all .2s}.campaign-setup input:focus{outline:none;border-color:var(--vsg-purple);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.2)}.join-code-display{margin-top:2rem;padding:1.5rem;background:rgba(var(--vsg-surface-rgb),.8);border-radius:.5rem;border:2px solid var(--vsg-purple);max-width:400px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.join-code-display .code{font-size:2rem;font-weight:400;letter-spacing:.25rem;color:var(--vsg-purple);margin:1rem 0;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5)}.agents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.agent-card{background:rgba(var(--vsg-surface-rgb),.8);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:.5rem;padding:1.5rem;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:all .2s}.agent-card:hover{border-color:rgba(var(--vsg-purple-rgb),.4);box-shadow:0 4px 15px rgba(var(--vsg-purple-rgb),.2)}.agent-card.ao{border-color:var(--vsg-purple)}.agent-header{display:flex;justify-content:space-between;margin-bottom:1rem}.agent-type{background:var(--vsg-purple);color:#fff;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:400;text-transform:uppercase}.agent-status{font-size:.875rem;padding:.25rem .5rem;border-radius:.25rem}.agent-status.idle{background:#0000004d}.agent-status.thinking{background:var(--vsg-caution);color:#000}.agent-status.responding{background:rgba(var(--vsg-success-rgb),.77);color:#000}.agent-actions{margin-top:1rem;display:flex;gap:.5rem}.status-connected{color:rgba(var(--vsg-success-rgb),.77);font-weight:400}.login-container{background:rgba(var(--vsg-surface-rgb),.95);border:2px solid rgba(var(--vsg-purple-rgb),.3);border-radius:.5rem;padding:3rem;width:100%;max-width:450px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.15)}.login-container h1{font-family:Andalucia,serif;font-size:2.5rem;color:var(--vsg-purple);text-align:center;margin-bottom:.5rem;text-shadow:2px 2px 4px rgba(var(--vsg-purple-rgb),.25)}.login-container>p{text-align:center;color:#ffffffb3;margin-bottom:2rem;font-weight:300}.login-tabs{display:flex;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);margin-bottom:2rem}.login-tabs button{flex:1;background:none;border:none;color:rgba(var(--vsg-purple-rgb),.6);padding:1rem;cursor:pointer;transition:all .2s;border-bottom:2px solid transparent;font-weight:300;letter-spacing:.5px}.login-tabs button.active{color:var(--vsg-purple);border-bottom-color:var(--vsg-purple)}.login-tabs button:hover{color:var(--vsg-purple)}.login-container form input{display:block;width:100%;padding:.75rem;margin-bottom:1rem;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:.25rem;color:#fff;font-size:1rem;transition:all .2s}.login-container form input::placeholder{color:#ffffff80}.login-container form input:focus{outline:none;border-color:var(--vsg-purple);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.2)}.login-container .btn-primary{width:100%;margin-top:.5rem}.login-container .btn-primary:disabled{opacity:.6;cursor:not-allowed}.app.loading{min-height:calc(100 * var(--vh-fit));display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--vsg-surface) 0%,var(--vsg-surface) 20%,var(--vsg-surface) 35%,#000000 50%,#000000 100%)}.loading-spinner{color:var(--vsg-purple);font-size:1.25rem;font-weight:300;letter-spacing:.5px}.user-info{color:#fffc;font-weight:300;padding:.25rem .75rem;background:rgba(var(--vsg-purple-rgb),.1);border-radius:1rem;font-size:.875rem}.btn-logout{background:none;border:1px solid rgba(var(--vsg-purple-rgb),.3);color:rgba(var(--vsg-purple-rgb),.8);padding:.25rem .75rem;border-radius:.25rem;cursor:pointer;font-size:.875rem;transition:all .2s}.btn-logout:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:var(--vsg-purple);color:var(--vsg-purple)}.welcome-page{min-height:calc(100 * var(--vh-fit));min-height:calc(100 * var(--dvh-fit));width:100%;display:flex;align-items:center;justify-content:center;background:transparent;padding:1rem;padding-bottom:max(1rem,env(safe-area-inset-bottom));position:relative}.welcome-container{width:100%;display:flex;flex-direction:column;align-items:center;gap:.75rem;animation:fadeIn .8s ease-out;position:relative}.welcome-language-selector{position:fixed;top:20px;right:20px;z-index:100}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.welcome-header{text-align:center;margin-bottom:1rem}.title-wrapper{position:relative;display:inline-block}.fantasia-welcome-title{font-family:Andalucia,serif;font-size:4.5rem;color:var(--vsg-purple);text-shadow:0 0 30px rgba(var(--vsg-purple-rgb),.5),2px 2px 4px rgba(var(--vsg-purple-rgb),.25);margin:0;font-weight:400;letter-spacing:0;line-height:1;position:relative;display:inline-block}.copyright-symbol{position:absolute;top:.7em;right:-.9em;font-size:.15em;font-family:var(--font-primary);font-weight:400;color:rgba(var(--vsg-purple-rgb),.8);text-shadow:1px 1px 2px rgba(var(--vsg-purple-rgb),.3)}.welcome-slogan{position:absolute;bottom:8px;left:50%;transform:translate(-50%) translate(24px);color:rgba(var(--vsg-purple-rgb),.95);font-size:.6rem;font-weight:300;text-shadow:1px 1px 2px rgba(var(--vsg-purple-rgb),.25);white-space:nowrap;letter-spacing:.5px}.auth-choice-card:after,.email-auth-card:after{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(45deg,var(--vsg-purple),var(--vsg-purple),rgba(var(--vsg-purple-rgb),.83),rgba(var(--vsg-purple-rgb),.64),var(--vsg-purple),var(--vsg-purple),rgba(var(--vsg-purple-rgb),.83),rgba(var(--vsg-purple-rgb),.64));border-radius:12px;opacity:0;z-index:-1;transition:opacity .3s ease;background-size:400% 400%}.auth-choice-card:hover:after,.email-auth-card:hover:after{opacity:.3;animation:gradientShift 10s ease infinite}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.welcome-cta{width:100%;max-width:400px;margin:.75rem 0}.welcome-cta .fantamaster-button{width:100%}.welcome-footer{position:absolute;bottom:-80px;left:50%;transform:translate(-50%);display:flex;justify-content:center;align-items:center;gap:.75rem;padding-top:.75rem;border-top:1px solid rgba(var(--vsg-purple-rgb),.1);font-size:.7rem;width:80%}.copyright{color:rgba(var(--vsg-purple-rgb),.7)}.footer-separator{color:rgba(var(--vsg-purple-rgb),.4);font-size:.6rem}.welcome-footer a{color:rgba(var(--vsg-purple-rgb),.6);text-decoration:underline;cursor:pointer;transition:all .2s}.welcome-footer a:hover{color:rgba(var(--vsg-purple-rgb),.9)}.genre-badge{text-transform:none}.claude-direct-interface{display:flex;flex-direction:column;position:fixed;max-width:800px;width:calc(95 * var(--vw-fit));max-height:550px;height:calc(85 * var(--vh-fit));top:50%;left:50%;transform:translate(-50%,-50%);background:linear-gradient(135deg,rgba(var(--vsg-surface-rgb),.95),rgba(var(--vsg-surface-rgb),.95));border-radius:12px;overflow:hidden;box-shadow:0 8px 32px #0000004d;z-index:1000}.claude-direct-interface--epic{background:linear-gradient(135deg,rgba(var(--vsg-surface-rgb),.4),rgba(var(--vsg-surface-rgb),.4));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #0000004d,0 0 40px rgba(var(--vsg-purple-rgb),.3),0 0 80px rgba(var(--vsg-purple-rgb),.15);border:1px solid rgba(var(--vsg-purple-rgb),.4);--glow-peak: 0 0 50px rgba(var(--vsg-purple-rgb), .4), 0 0 100px rgba(var(--vsg-purple-rgb), .2);--glow-period: 3s}.claude-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#0000000d;border-bottom:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.claude-title{display:flex;align-items:center;gap:.75rem}.claude-icon{font-size:1.5rem;animation:pulse 2s infinite}.claude-title h2{margin:0;color:var(--vsg-purple);font-size:1.25rem;font-weight:400}.claude-status{padding:.25rem .75rem;border-radius:12px;font-size:.875rem;background:#ffffff1a;color:#ffffffb3;transition:all .3s ease}.claude-status[data-status=ready]{color:var(--vsg-success);background:rgba(var(--vsg-success-rgb),.1)}.claude-status[data-status=processing]{color:var(--vsg-info);background:rgba(var(--vsg-info-rgb),.1);animation:pulse 1s infinite}.claude-status[data-status=error]{color:var(--vsg-error);background:rgba(var(--vsg-error-rgb),.1)}.familiar-expert-indicator{padding:.2rem .6rem;border-radius:12px;font-size:.75rem;color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);cursor:default;transition:all .2s ease;white-space:nowrap}.familiar-expert-indicator:hover{background:rgba(var(--vsg-purple-rgb),.15);border-color:rgba(var(--vsg-purple-rgb),.5)}.claude-header-buttons{display:flex;align-items:center;gap:.5rem}.claude-new-conversation{background:transparent;border:none;color:var(--vsg-purple);cursor:pointer;padding:4px;opacity:.7;transition:all .2s ease}.claude-new-conversation:hover{opacity:1;transform:scale(1.2)}.claude-minimize,.claude-close{background:transparent;border:none;color:#ffffff80;font-size:1.5rem;cursor:pointer;padding:.25rem;transition:all .2s ease}.claude-minimize:hover,.claude-close:hover{color:var(--vsg-purple);transform:scale(1.1)}.claude-messages{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}:where(.claude-direct-interface) .claude-message{animation:slideIn .3s ease-out}:where(.claude-direct-interface) .claude-message--settled{animation:none}.claude-message-user{align-self:flex-end;max-width:70%}.claude-message-familiar{align-self:flex-start;max-width:80%}.claude-message-system{align-self:center;max-width:90%;opacity:.8}:where(.claude-direct-interface) .message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:0 .5rem}:where(.claude-direct-interface) .message-author{font-size:.875rem;font-weight:400;color:var(--vsg-purple)}.claude-message-user .message-author{color:var(--vsg-purple)}.claude-message-system .message-author{color:#ffffff80}:where(.claude-direct-interface) .message-time{font-size:.75rem;color:#fff6;margin-left:8px}:where(.claude-direct-interface) .message-content{padding:.75rem 1rem;background:rgba(var(--vsg-surface-rgb),.85);border-radius:12px;color:#ffffffe6;line-height:1.5;white-space:pre-wrap;word-wrap:break-word;word-break:normal}.claude-message-user .message-content{background:rgba(var(--vsg-purple-rgb),.25);border:1px solid rgba(var(--vsg-purple-rgb),.4)}.claude-message-familiar .message-content{background:rgba(var(--vsg-surface-rgb),.9);border:1px solid rgba(var(--vsg-purple-rgb),.3)}.claude-message-system .message-content{background:rgba(var(--vsg-surface-rgb),.7);border:1px solid rgba(255,255,255,.2);text-align:center;font-style:normal}.message-image-indicator{display:flex;align-items:center;gap:6px;margin-top:4px;padding:3px 10px;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:20px;width:fit-content;align-self:flex-end}.message-image-indicator .image-indicator-icon{display:inline-flex;align-items:center;color:rgba(var(--vsg-purple-rgb),.7);line-height:1}.message-image-indicator .image-indicator-text{font-size:11px;font-family:var(--font-primary);color:rgba(var(--vsg-purple-rgb),.7);letter-spacing:.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.claude-input{display:flex;flex-direction:column;padding:1.5rem;background:#0000000d;border-top:1px solid rgba(255,255,255,.1);gap:1rem}.claude-input-container{display:flex;gap:1rem;align-items:flex-end}.claude-input textarea{flex:1;background:rgba(var(--vsg-surface-rgb),.9);border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#ffffffe6;padding:.75rem;font-size:.95rem;font-family:inherit;resize:none;transition:all .2s ease}.claude-input textarea:focus{outline:none;border-color:var(--vsg-purple);background:var(--vsg-surface)}.claude-input textarea:disabled{opacity:.5;cursor:not-allowed}.claude-input-buttons{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.claude-attach-button{min-width:40px;min-height:40px;padding:8px;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:rgba(var(--vsg-purple-rgb),.8);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.claude-attach-button svg{width:18px;height:18px;color:rgba(var(--vsg-purple-rgb),.8)}.claude-attach-button:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.5);transform:translateY(-2px)}.claude-attach-button:disabled{opacity:.4;cursor:not-allowed}.claude-send-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--vsg-purple),var(--vsg-purple));border:none;border-radius:8px;color:#fff;font-weight:400;cursor:pointer;transition:all .2s ease;min-height:40px}.claude-send-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--vsg-purple-rgb),.4)}.claude-send-button:disabled{opacity:.4;cursor:not-allowed}.claude-messages::-webkit-scrollbar{width:8px}.claude-messages::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.claude-messages::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.3);border-radius:4px}.claude-messages::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.5)}.claude-footer{display:flex;align-items:center;justify-content:center;padding:.75rem;background:#00000026;border-top:1px solid rgba(255,255,255,.1);font-size:.875rem;color:#ffffff80}.claude-footer-logo{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:inherit;transition:all .2s ease}.claude-footer-logo:hover{color:var(--vsg-purple)}.claude-footer-icon{width:20px;height:20px;object-fit:contain}.attached-images{display:flex;gap:.75rem;flex-wrap:wrap;padding-bottom:.5rem}.attached-image-preview{position:relative;width:100px;height:100px;border-radius:8px;overflow:hidden;background:#ffffff0d;border:1px solid rgba(var(--vsg-purple-rgb),.3)}.attached-image-preview img{width:100%;height:100%;object-fit:cover}.remove-image{position:absolute;top:4px;right:4px;width:20px;height:20px;background:#000000b3;border:none;border-radius:50%;color:#fff;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.remove-image:hover{background:rgba(var(--vsg-error-rgb),.8);transform:scale(1.1)}.image-name{position:absolute;bottom:0;left:0;right:0;background:#000c;color:#ffffffe6;font-size:.7rem;padding:4px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.claude-direct-interface.dragging{border:2px dashed rgba(var(--vsg-purple-rgb),.5)}.claude-direct-interface.dragging:after{content:"📎 Drop images here";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000e6;color:var(--vsg-purple);padding:2rem 3rem;border-radius:12px;font-size:1.25rem;font-weight:400;pointer-events:none;z-index:1001}.claude-direct-interface--compact{width:320px;height:420px;top:auto;left:auto;bottom:20px;right:20px;transform:none}.claude-direct-interface--compact .claude-header{padding:.5rem 1rem;min-height:40px}.claude-direct-interface--compact .claude-title h2{font-size:1rem}.claude-direct-interface--compact .claude-status{display:none}.claude-direct-interface--compact .claude-icon{font-size:1.25rem}.claude-direct-interface--compact .claude-messages{max-height:350px;padding:.5rem}.claude-direct-interface--compact .claude-message{padding:.5rem;margin-bottom:.5rem}.claude-direct-interface--compact .message-header{font-size:.75rem}.claude-direct-interface--compact .message-content{font-size:.875rem}.claude-direct-interface--compact .claude-input{padding:.5rem;gap:.5rem}.claude-direct-interface--compact .claude-input-container{padding:0}.claude-direct-interface--compact textarea{font-size:.9rem;min-height:86px;max-height:86px;height:86px}.claude-direct-interface--compact .claude-send-button,.claude-direct-interface--compact .claude-attach-button{padding:.5rem 1rem;font-size:.875rem}.claude-direct-interface--compact .claude-compact-toggle,.claude-direct-interface--compact .claude-minimize,.claude-direct-interface--compact .claude-close{font-size:1.25rem}.claude-direct-interface--compact .claude-footer{padding:.25rem;font-size:.7rem}.claude-direct-interface--compact .attached-images-preview{padding:.5rem;gap:.5rem}.claude-direct-interface--compact .attached-image-item{width:60px;height:60px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.claude-attached-images{display:flex;flex-wrap:wrap;gap:8px;padding:8px 12px;background:#0003;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.claude-attached-image{position:relative;width:80px;height:80px;border-radius:8px;overflow:hidden;background:#ffffff0d;border:1px solid rgba(var(--vsg-purple-rgb),.3)}.claude-attached-image img{width:100%;height:100%;object-fit:cover}.claude-image-name{position:absolute;bottom:0;left:0;right:0;background:#000c;color:#ffffffe6;font-size:.65rem;padding:2px 4px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.claude-attach-button{background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;padding:6px 10px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.claude-attach-button svg{color:rgba(var(--vsg-purple-rgb),.8)}.claude-attach-button:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.2);transform:scale(1.05)}.claude-attach-button:hover:not(:disabled) svg{color:rgba(var(--vsg-purple-rgb),1)}.claude-attach-button:disabled{opacity:.3;cursor:not-allowed}.claude-direct-interface--dragging{border:2px dashed rgba(var(--vsg-purple-rgb),.5)}.claude-drop-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1001;border-radius:12px;pointer-events:none}.claude-drop-overlay p{color:var(--vsg-purple);font-size:1.25rem;font-weight:400}.claude-load-older{display:flex;justify-content:center;padding:.25rem 0 .5rem}.message-author--bridge{color:var(--vsg-success)}.familiar-response__dev-telemetry{font-family:var(--font-primary);font-weight:400;font-size:11px;letter-spacing:.05em;color:#fff6;text-align:right;margin-top:6px;padding:0;background:transparent;border:none;-webkit-user-select:none;user-select:none}.familiar-response__dev-telemetry>span{white-space:nowrap}.bridge-exchange{align-self:stretch;margin:.25rem 0;border:1px solid rgba(var(--vsg-success-rgb),.25);border-radius:12px;background:rgba(var(--vsg-success-rgb),.05)}.bridge-exchange__summary{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;font-family:var(--font-primary);font-weight:400;font-size:.8125rem;color:#ffffff8c;cursor:pointer;-webkit-user-select:none;user-select:none}.bridge-exchange__origin{color:var(--vsg-success)}.bridge-exchange__count{margin-left:auto;color:#fff6;font-size:.75rem;white-space:nowrap}.bridge-exchange__body{display:flex;flex-direction:column;gap:.5rem;padding:0 .75rem .75rem}.bridge-exchange__unrecorded{font-family:var(--font-primary);font-weight:400;font-size:.8125rem;color:#fff6;padding:.25rem .5rem}.bridge-exchange .message-author--bridge{color:var(--vsg-success)}.preservation-button-container{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin:1rem 0}.preservation-button{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.75rem;font-size:1rem;font-weight:400;color:#fff;background:linear-gradient(135deg,var(--vsg-purple) 0%,var(--vsg-purple) 100%);border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px rgba(var(--vsg-purple-rgb),.3);position:relative;overflow:hidden}.preservation-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.preservation-button:hover:before{left:100%}.preservation-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--vsg-purple-rgb),.4);background:linear-gradient(135deg,var(--vsg-purple) 0%,var(--vsg-purple) 100%)}.preservation-button:active{transform:translateY(0);box-shadow:0 2px 8px rgba(var(--vsg-purple-rgb),.3)}.preservation-button__icon{font-size:1.25rem;display:flex;align-items:center;justify-content:center}.preservation-button__text{font-family:var(--font-primary)}.preservation-button--processing{background:linear-gradient(135deg,var(--vsg-purple) 0%,var(--vsg-purple) 100%);cursor:wait}.preservation-button--processing .preservation-button__icon{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.preservation-button--success{background:linear-gradient(135deg,rgba(var(--vsg-success-rgb),.73),rgba(var(--vsg-success-rgb),.59));cursor:default}.preservation-button--error{background:linear-gradient(135deg,var(--vsg-error) 0%,var(--vsg-error) 100%);cursor:pointer}.preservation-button--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.preservation-success-message{font-size:.875rem;color:rgba(var(--vsg-success-rgb),.73);font-weight:400;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 600px){.preservation-button{padding:.75rem 1.5rem;font-size:.9375rem}}.global-familiar--full{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10001}.global-familiar--full .claude-direct-interface{position:static;transform:none;width:90%;max-width:1100px;height:calc(85 * var(--vh-fit));background:linear-gradient(135deg,rgba(var(--vsg-surface-rgb),.95),rgba(var(--vsg-surface-rgb),.95));border-radius:12px;box-shadow:0 8px 32px #00000080}.global-familiar--full .claude-direct-interface--epic{background:linear-gradient(135deg,rgba(var(--vsg-surface-rgb),.4),rgba(var(--vsg-surface-rgb),.4));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.global-familiar--compact{position:fixed;bottom:20px;right:20px;width:350px;height:650px;z-index:10001;border-radius:12px;box-shadow:0 8px 32px #00000080;display:flex}.global-familiar--compact .claude-direct-interface{position:static;transform:none;width:100%;height:100%;min-height:100%;background:linear-gradient(135deg,rgba(var(--vsg-surface-rgb),.95),rgba(var(--vsg-surface-rgb),.95));border-radius:12px;border:1px solid rgba(var(--vsg-purple-rgb),.3)}.global-familiar--compact .claude-direct-interface .claude-messages{flex:1;max-height:none}.global-familiar--compact .claude-direct-interface .claude-footer{padding:.15rem;font-size:.7rem}.global-familiar--compact .claude-direct-interface .claude-input textarea{padding:.6rem}.global-familiar--compact .claude-direct-interface--epic{background:linear-gradient(135deg,rgba(var(--vsg-surface-rgb),.4),rgba(var(--vsg-surface-rgb),.4));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.global-familiar--minimized{display:none}.familiar-minimized-badge{position:fixed;bottom:80px;right:20px;z-index:10001;display:flex;align-items:center;gap:8px;padding:12px 16px;background:linear-gradient(135deg,var(--vsg-info) 0%,rgba(var(--vsg-purple-rgb),.64) 100%);border-radius:24px;box-shadow:0 4px 12px #0000004d;cursor:pointer;transition:all .3s ease;color:#fff;font-weight:400}.familiar-minimized-badge:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0006}.familiar-minimized-badge:active{transform:translateY(0)}.familiar-badge-icon{font-size:20px;line-height:1}.familiar-badge-name{font-size:14px;white-space:nowrap}@media (max-width: 600px){.familiar-minimized-badge{bottom:70px;right:16px;padding:10px 14px}.familiar-badge-icon{font-size:18px}.familiar-badge-name{font-size:13px}.global-familiar--compact{bottom:10px;right:10px;left:10px;width:auto;height:400px}.global-familiar--full .claude-direct-interface{width:95%;height:calc(90 * var(--vh-fit))}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.fantaweb-sw-update-banner{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom,0px));inset-inline-end:calc(24px + env(safe-area-inset-right,0px));z-index:9999;width:min(360px,calc(100 * var(--vw-fit) - 48px));background:#000000d9;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;padding:20px 24px;box-shadow:0 16px 48px #0009;font-family:var(--font-primary);color:#fffffff2;animation:fantaweb-sw-banner-slide-in .3s ease-out}@keyframes fantaweb-sw-banner-slide-in{0%{transform:translate(110%);opacity:0}to{transform:translate(0);opacity:1}}[dir=rtl] .fantaweb-sw-update-banner{animation-name:fantaweb-sw-banner-slide-in-rtl}@keyframes fantaweb-sw-banner-slide-in-rtl{0%{transform:translate(-110%);opacity:0}to{transform:translate(0);opacity:1}}.fantaweb-sw-update-banner__title{font-size:16px;font-weight:300;letter-spacing:.02em;color:var(--vsg-purple);margin:0 0 8px;text-shadow:0 0 16px rgba(var(--vsg-purple-rgb),.3)}.fantaweb-sw-update-banner__body{font-size:14px;font-weight:400;line-height:1.5;color:#ffffffd9;margin:0 0 16px}.fantaweb-sw-update-banner__countdown{font-size:12px;font-weight:400;color:#ffffff8c;margin:0 0 12px}.fantaweb-sw-update-banner__actions{display:flex;gap:8px;justify-content:flex-end}.fantaweb-sw-update-banner__btn{font-family:var(--font-primary);font-weight:400;font-size:13px;letter-spacing:.04em;padding:8px 16px;border-radius:8px;cursor:pointer;transition:all .2s ease;background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.4);color:var(--vsg-purple)}.fantaweb-sw-update-banner__btn:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.7)}.fantaweb-sw-update-banner__btn:focus-visible{outline:2px solid var(--vsg-purple);outline-offset:2px}.fantaweb-sw-update-banner__btn--primary{background:rgba(var(--vsg-purple-rgb),.15);border-color:var(--vsg-purple)}.fantaweb-sw-update-banner__btn--primary:hover{background:rgba(var(--vsg-purple-rgb),.25)}.stats-bar{background:#0009;border:.25px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:25px 40px;display:flex;justify-content:space-around;animation:statsBarFadeInUp 1s ease-out .4s backwards;margin:var(--dashboard-section-gap, 16px) 60px 15px;position:relative;z-index:1}.claude-selector{position:relative;cursor:pointer}.claude-value-container{display:flex;align-items:center;justify-content:center;position:relative;min-height:38px}.claude-selector .stat-value.clickable{cursor:pointer;transition:all .2s ease;color:var(--vsg-purple)}.claude-selector:hover .stat-value.clickable{color:var(--vsg-purple);text-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.3)}.dropdown-arrow{position:absolute;right:-16px;color:rgba(var(--vsg-purple-rgb),.6);transition:transform .2s ease}.claude-selector:hover .dropdown-arrow{transform:translateY(-2px)}.claude-dropdown{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:35px;background:#000000f2;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;min-width:120px;overflow:hidden;box-shadow:0 -4px 20px rgba(var(--vsg-purple-rgb),.2)}.claude-selector .stat-value.claude-tier-none,.claude-tier-none{color:var(--vsg-purple)!important}.claude-selector .stat-value.claude-tier-pro,.claude-tier-pro{color:var(--vsg-purple-bright)!important}.claude-selector .stat-value.claude-tier-max5x,.claude-tier-max5x{color:var(--vsg-purple-brighter)!important;text-shadow:0 0 8px var(--vsg-purple-brighter),0 0 16px rgba(var(--vsg-purple-brighter-rgb),.31)}.claude-selector .stat-value.claude-tier-max20x,.claude-tier-max20x{color:var(--vsg-purple-radiant)!important;text-shadow:0 0 20px var(--vsg-purple-radiant),0 0 40px rgba(var(--vsg-purple-radiant-rgb),.5)}.stat-with-tooltip{position:relative;cursor:help}.stat-with-tooltip .stat-tooltip{visibility:hidden;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#000000f2;color:var(--vsg-purple);padding:8px 12px;border-radius:6px;border:1px solid rgba(var(--vsg-purple-rgb),.3);font-size:12px;font-family:var(--font-primary);white-space:nowrap;z-index:10000;pointer-events:none;box-shadow:0 4px 12px #00000080,0 0 20px rgba(var(--vsg-purple-rgb),.2)}.stat-with-tooltip:hover .stat-tooltip{visibility:visible}@keyframes statsBarFadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 600px){.stats-bar{flex-wrap:wrap;gap:20px;padding:20px}}.app-footer{text-align:center;padding:0 20px 20px;font-size:.7rem;font-family:var(--font-primary);background:transparent}.app-footer .copyright{color:rgba(var(--vsg-purple-rgb),.7);margin-right:.25rem}.app-footer .footer-separator{color:rgba(var(--vsg-purple-rgb),.4);font-size:.6rem;margin:0 .5rem}.app-footer a{color:rgba(var(--vsg-purple-rgb),.6);text-decoration:underline;cursor:pointer;transition:all .2s;margin:0 .25rem}.app-footer a:hover{color:rgba(var(--vsg-purple-rgb),.9)}.carousel-container{position:relative;width:100%}.carousel-container .carousel-grid{--carousel-gap: 30px;--carousel-card-min: 260px;display:grid!important;grid-template-columns:repeat(auto-fill,minmax(min(100%,max(var(--carousel-card-min),calc((100% - 2 * var(--carousel-gap)) / 3 - .1px))),1fr))!important;gap:var(--carousel-gap);width:100%;position:relative}.carousel-container .carousel-exit-right{animation:carouselSlideOutToLeft .5s ease-in-out}.carousel-container .carousel-exit-left{animation:carouselSlideOutToRight .5s ease-in-out}.carousel-container .carousel-slide-right{animation:carouselSlideInFromRight .5s ease-in-out}.carousel-container .carousel-slide-left{animation:carouselSlideInFromLeft .5s ease-in-out}.carousel-container .carousel-item{display:block!important;min-width:0}@keyframes carouselSlideOutToLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-100px)}}@keyframes carouselSlideOutToRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100px)}}@keyframes carouselSlideInFromRight{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}@keyframes carouselSlideInFromLeft{0%{opacity:0;transform:translate(-100px)}to{opacity:1;transform:translate(0)}}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;display:flex;align-items:center;justify-content:center;padding:4px!important;color:var(--vsg-purple)!important;background:transparent!important;border:none!important;box-shadow:none!important;transition:all .3s ease!important;cursor:pointer;opacity:.6}.carousel-arrow-left{left:-40px}.carousel-arrow-right{right:-40px}.carousel-arrow.carousel-arrow-hidden{visibility:hidden;pointer-events:none}.carousel-arrow:hover:not(.carousel-arrow-hidden){opacity:1!important;transform:translateY(-50%) scale(1.2);filter:drop-shadow(0 0 6px rgba(var(--vsg-purple-rgb),.5))}.carousel-arrow:active{transform:translateY(-50%) scale(1)}.carousel-indicator{position:absolute;bottom:-40px;left:50%;transform:translate(-50%);display:none}.carousel-page-info{color:rgba(var(--vsg-purple-rgb),.8);font-family:var(--font-primary);font-size:12px;text-transform:uppercase;letter-spacing:1px}.carousel-loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:#fff9;font-family:var(--font-primary);font-size:16px;text-transform:uppercase;letter-spacing:1px}.carousel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;color:#fff9;font-family:var(--font-primary);text-align:center}@media (max-width: 1200px){.carousel-arrow svg{width:20px;height:20px}.carousel-arrow-left{left:-30px}.carousel-arrow-right{right:-30px}}@media (max-width: 600px){.carousel-arrow svg{width:16px;height:16px}.carousel-arrow-left{left:-24px}.carousel-arrow-right{right:-24px}}.role-based-avatar-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:visible}.role-based-avatar{position:relative;z-index:1}.role-based-avatar.avatar-pulse{--glow-rest: var(--glow-avatar-rest);--glow-static: var(--glow-avatar-inset);--glow-peak: var(--glow-avatar-peak);--glow-period: 2s;--glow-ease: ease}.avatar-outer-glow{position:absolute;pointer-events:none;z-index:0}.avatar-outer-glow.dreamer-glow{animation:outerGlowPulse 2s ease-in-out infinite}.avatar-badge-icon{position:absolute;z-index:10;filter:drop-shadow(0 0 3px rgba(var(--vsg-purple-rgb),.9))}.avatar-badge-icon.messages-badge{top:8%;left:8%;transform:translate(-50%,-50%)}.avatar-badge-icon.notifications-badge{bottom:8%;left:8%;transform:translate(-50%,50%)}.avatar-badge-icon.posts-badge{top:8%;right:8%;transform:translate(50%,-50%)}.role-based-avatar--chrome{width:var(--avatar-size);height:var(--avatar-size);font-size:var(--avatar-initials-size)}.role-based-avatar-wrapper--chrome .avatar-outer-glow{width:var(--avatar-ring-size);height:var(--avatar-ring-size)}.young-adult-badge{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-primary);font-weight:400;text-transform:uppercase;letter-spacing:.5px;border-radius:4px;cursor:default;flex-shrink:0}.young-adult-badge-protected{background:rgba(var(--vsg-success-rgb),.15);border:1px solid rgba(var(--vsg-success-rgb),.4);color:var(--vsg-success)}.young-adult-badge-protected:hover{box-shadow:0 0 8px rgba(var(--vsg-success-rgb),.3)}.young-adult-badge-violator{background:rgba(var(--vsg-magenta-rgb),.15);border:1px solid rgba(var(--vsg-magenta-rgb),.4);color:var(--vsg-magenta)}.young-adult-badge-violator:hover{box-shadow:0 0 8px rgba(var(--vsg-magenta-rgb),.3)}.young-adult-badge-clickable{cursor:pointer;transition:all .2s ease}.young-adult-badge-clickable:hover{transform:scale(1.05);box-shadow:0 0 12px rgba(var(--vsg-magenta-rgb),.5)}.young-adult-badge-clickable:active{transform:scale(.98)}.young-adult-badge-small{font-size:9px;padding:2px 5px}.young-adult-badge-medium{font-size:11px;padding:3px 7px}.user-rank-badge{display:inline-flex;align-items:center;justify-content:flex-start;padding:0;font-weight:400;white-space:nowrap;background:transparent;cursor:default}.user-rank-badge--small{font-size:12px;padding:0;font-family:var(--font-primary);letter-spacing:.5px;opacity:.9}.user-rank-badge--medium{font-size:13px;padding:0}.user-rank-badge--large{font-size:15px;padding:0}.user-rank-badge--xlarge{font-size:18px;padding:0;font-family:var(--font-primary);letter-spacing:.5px}.user-rank-badge--dreamer{background:transparent}@keyframes dreamer-pulse{0%,to{filter:drop-shadow(0 0 8px var(--vsg-purple-radiant)) brightness(1.2)}50%{filter:drop-shadow(0 0 16px var(--vsg-purple-radiant)) brightness(1.4)}}.user-violation-history-modal{background:linear-gradient(135deg,rgba(var(--vsg-surface-rgb),.98),rgba(var(--vsg-surface-rgb),.98));border:1px solid rgba(var(--vsg-magenta-rgb),.3);border-radius:12px;width:90%;max-width:550px;max-height:calc(80 * var(--vh-fit));display:flex;flex-direction:column;box-shadow:0 0 40px rgba(var(--vsg-magenta-rgb),.2),0 20px 60px #00000080}.violation-history-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-magenta-rgb),.2)}.violation-history-header .modal-title{color:var(--vsg-magenta);font-family:var(--font-primary);font-size:18px;font-weight:400;letter-spacing:1px;margin:0}.violation-history-header .modal-close{background:none;border:none;color:#ffffff80;font-size:24px;cursor:pointer;padding:0;line-height:1;transition:color .2s ease}.violation-history-header .modal-close:hover{color:var(--vsg-magenta)}.violation-history-content{flex:1;overflow-y:auto;padding:24px}.violation-history-loading,.violation-history-error,.violation-history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 20px;color:#fff9;text-align:center}.violation-history-error{color:var(--vsg-magenta)}.user-violation-history-modal .violator-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid rgba(var(--vsg-magenta-rgb),.15)}.user-violation-history-modal .violator-info{display:flex;flex-direction:column;gap:4px}.user-violation-history-modal .violator-name{color:var(--vsg-magenta);font-family:var(--font-primary);font-size:18px;font-weight:400}.user-violation-history-modal .violator-stats{display:flex;gap:24px;margin-bottom:24px}.user-violation-history-modal .stat-item{display:flex;flex-direction:column;align-items:center;padding:16px 24px;background:rgba(var(--vsg-magenta-rgb),.1);border:1px solid rgba(var(--vsg-magenta-rgb),.2);border-radius:8px;flex:1}.user-violation-history-modal .stat-value{font-size:28px;font-weight:400;color:var(--vsg-magenta)}.user-violation-history-modal .stat-label{font-size:11px;color:#ffffff80;text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.user-violation-history-modal .violator-history{margin-top:8px}.user-violation-history-modal .history-title{color:#ffffffb3;font-size:12px;text-transform:uppercase;letter-spacing:1px;margin:0 0 12px}.user-violation-history-modal .history-list{display:flex;flex-direction:column;gap:8px}.user-violation-history-modal .history-entry{background:#0000004d;border:1px solid rgba(var(--vsg-magenta-rgb),.15);border-radius:6px;overflow:hidden}.user-violation-history-modal .history-entry.expanded{border-color:rgba(var(--vsg-magenta-rgb),.3)}.user-violation-history-modal .history-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:none;border:none;cursor:pointer;text-align:left;color:inherit;font-family:inherit}.user-violation-history-modal .history-item:hover{background:rgba(var(--vsg-magenta-rgb),.05)}.user-violation-history-modal .history-game{flex:1;color:#ffffffe6;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-violation-history-modal .history-category{font-size:10px;color:var(--vsg-magenta);background:rgba(var(--vsg-magenta-rgb),.15);padding:3px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.user-violation-history-modal .history-date{font-size:11px;color:#fff6}.user-violation-history-modal .history-details{padding:12px 16px;border-top:1px solid rgba(var(--vsg-magenta-rgb),.1);background:#0003}.user-violation-history-modal .history-detail-row{display:flex;gap:8px;margin-bottom:8px}.user-violation-history-modal .history-detail-row:last-child{margin-bottom:0}.user-violation-history-modal .detail-label{font-size:11px;color:#ffffff80;text-transform:uppercase;min-width:80px}.user-violation-history-modal .detail-value{font-size:12px;color:#fffc;flex:1}.user-violation-history-modal .detail-value.severity-block{color:var(--vsg-error);font-weight:400}.user-violation-history-modal .detail-value.severity-warn{color:var(--vsg-caution)}.user-violation-history-modal .history-empty{text-align:center;color:#fff6;padding:20px;font-style:normal}.user-violation-history-modal .modal-footer{display:flex;justify-content:flex-end;padding:16px 24px;border-top:1px solid rgba(var(--vsg-magenta-rgb),.15)}.user-violation-history-modal .modal-close-button{background:rgba(var(--vsg-magenta-rgb),.15);border:1px solid rgba(var(--vsg-magenta-rgb),.3);color:var(--vsg-magenta);padding:10px 24px;border-radius:6px;font-family:var(--font-primary);font-weight:400;font-size:13px;letter-spacing:.5px;cursor:pointer;transition:all .2s ease}.user-violation-history-modal .modal-close-button:hover{background:rgba(var(--vsg-magenta-rgb),.25);border-color:rgba(var(--vsg-magenta-rgb),.5)}.user-identity-display{display:flex;align-items:center;gap:12px}.user-identity-display.clickable{cursor:pointer;transition:opacity .2s ease}.user-identity-display.clickable:hover{opacity:.85}.user-identity-horizontal{flex-direction:row}.user-identity-horizontal .user-identity-info{align-items:flex-start}.user-identity-vertical{flex-direction:column;text-align:center}.user-identity-vertical .user-identity-info{align-items:center}.user-identity-avatar-wrapper{position:relative;flex-shrink:0}.user-identity-avatar{border-radius:50%}.user-identity-info{display:flex;flex-direction:column;gap:2px;min-width:0}.user-identity-name{font-family:var(--font-primary);color:#fffffff2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-identity-name-small{font-size:13px;font-weight:400}.user-identity-name-medium{font-size:15px;font-weight:400}.user-identity-name-large{font-size:20px;font-weight:400}.user-identity-last-seen{font-size:11px;color:rgba(var(--vsg-purple-rgb),.5);font-family:var(--font-primary)}.user-identity-small{gap:8px}.user-identity-small .online-indicator{width:8px;height:8px;bottom:0;right:0}.user-identity-large{gap:16px}.user-identity-large .online-indicator{width:14px;height:14px;bottom:4px;right:4px}.user-profile-display--chrome{gap:var(--chrome-gap-chip)}.user-profile-display--chrome .user-profile-text{gap:var(--chip-text-gap)}.user-profile-display--chrome .username--chrome{font-size:var(--chip-name-size)}.access-status-badge{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:4px 8px;border-radius:20px;font-family:var(--font-primary);font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:1px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;min-width:75px;text-align:center}.access-status-badge.access-badge-compact{padding:4px 8px;min-width:75px}.access-badge-icon{font-size:11px;line-height:1}.access-badge-label{line-height:1}.access-badge-open{background:rgba(var(--vsg-success-rgb),.2);color:var(--vsg-success);border:1px solid rgba(var(--vsg-success-rgb),.3)}.access-badge-open:hover{background:rgba(var(--vsg-success-rgb),.3);border-color:rgba(var(--vsg-success-rgb),.5)}.access-badge-restricted{background:rgba(var(--vsg-caution-rgb),.2);color:var(--vsg-caution);border:1px solid rgba(var(--vsg-caution-rgb),.3)}.access-badge-restricted:hover{background:rgba(var(--vsg-caution-rgb),.3);border-color:rgba(var(--vsg-caution-rgb),.5)}.access-badge-closed{background:rgba(var(--vsg-error-rgb),.2);color:var(--vsg-error);border:1px solid rgba(var(--vsg-error-rgb),.3)}.access-badge-closed:hover{background:rgba(var(--vsg-error-rgb),.3);border-color:rgba(var(--vsg-error-rgb),.5)}.access-badge-blocked{background:rgba(var(--vsg-magenta-rgb),.2);color:var(--vsg-magenta);border:1px solid rgba(var(--vsg-magenta-rgb),.3)}.access-badge-blocked:hover{background:rgba(var(--vsg-magenta-rgb),.3);border-color:rgba(var(--vsg-magenta-rgb),.5)}.access-status-badge.access-badge-clickable{cursor:pointer}.access-status-badge.access-badge-clickable.access-badge-blocked:hover{background:rgba(var(--vsg-magenta-rgb),.4);border-color:rgba(var(--vsg-magenta-rgb),.7);box-shadow:0 0 20px rgba(var(--vsg-magenta-rgb),.5)}.access-denied-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.access-denied-modal{position:relative;background:transparent;border-radius:12px;width:90%;max-width:450px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(var(--vsg-magenta-rgb),.3);border:1px solid rgba(var(--vsg-magenta-rgb),.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideInUp .3s ease-out}.access-denied-header{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 24px 16px;background:rgba(var(--vsg-magenta-rgb),.08);border-bottom:1px solid rgba(var(--vsg-magenta-rgb),.2)}.access-denied-title{font-family:var(--font-primary);font-size:1.5rem;font-weight:400;color:var(--vsg-magenta);margin:0;text-align:center;text-shadow:0 0 20px rgba(var(--vsg-magenta-rgb),.5)}.access-denied-content{padding:24px;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.access-denied-game-name{font-family:var(--font-primary);font-size:1.1rem;color:#fffffff2;margin:0;padding:8px 16px;background:rgba(var(--vsg-purple-rgb),.1);border-radius:8px;border:1px solid rgba(var(--vsg-purple-rgb),.2)}.access-denied-message{font-size:1rem;color:#ffffffd9;margin:0;line-height:1.5}.access-denied-explanation{font-size:.9rem;color:#fff9;margin:0;line-height:1.5;font-style:normal}.access-denied-footer{display:flex;justify-content:center;align-items:center;gap:12px;padding:16px 24px;border-top:1px solid rgba(var(--vsg-magenta-rgb),.2);background:rgba(var(--vsg-magenta-rgb),.05)}.server-error-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:serverErrorFadeIn .2s ease-out}@keyframes serverErrorFadeIn{0%{opacity:0}to{opacity:1}}.server-error-modal{position:relative;background:transparent;border-radius:12px;width:90%;max-width:450px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(var(--vsg-magenta-rgb),.3);border:1px solid rgba(var(--vsg-magenta-rgb),.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:serverErrorSlideIn .3s ease-out}@keyframes serverErrorSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.server-error-header{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 24px 16px;background:rgba(var(--vsg-magenta-rgb),.08);border-bottom:1px solid rgba(var(--vsg-magenta-rgb),.2);gap:12px}.server-error-icon{color:var(--vsg-magenta);display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 0 12px rgba(var(--vsg-magenta-rgb),.4))}.server-error-title{font-family:var(--font-primary);font-size:1.5rem;font-weight:400;color:var(--vsg-magenta);margin:0;text-align:center;text-shadow:0 0 20px rgba(var(--vsg-magenta-rgb),.5)}.server-error-content{padding:24px;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.server-error-game-name{font-family:var(--font-primary);font-size:1.1rem;color:#fffffff2;margin:0;padding:8px 16px;background:rgba(var(--vsg-purple-rgb),.1);border-radius:8px;border:1px solid rgba(var(--vsg-purple-rgb),.2)}.server-error-message{font-size:1rem;color:#ffffffd9;margin:0;line-height:1.5}.server-error-hint{font-size:.9rem;color:#fff9;margin:0;line-height:1.5;font-style:normal}.server-error-footer{display:flex;justify-content:center;align-items:center;gap:12px;padding:16px 24px;border-top:1px solid rgba(var(--vsg-magenta-rgb),.2);background:rgba(var(--vsg-magenta-rgb),.05)}.server-error-retry-content{display:inline-flex;align-items:center;gap:8px}.violator-warning-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.violator-warning-modal{position:relative;background:transparent;border-radius:12px;width:90%;max-width:500px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(var(--vsg-magenta-rgb),.4);border:2px solid rgba(var(--vsg-magenta-rgb),.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideInUp .3s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.violator-warning-header{display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px 24px 16px;background:rgba(var(--vsg-magenta-rgb),.1);border-bottom:1px solid rgba(var(--vsg-magenta-rgb),.3)}.violator-warning-icon{display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:rgba(var(--vsg-magenta-rgb),.2);border:2px solid rgba(var(--vsg-magenta-rgb),.4);box-shadow:0 0 20px rgba(var(--vsg-magenta-rgb),.3);animation:pulse-warning 1.5s ease-in-out infinite;--glow-peak: 0 0 35px rgba(var(--vsg-magenta-rgb), .5);--glow-period: 1.5s}:where(.violator-warning-overlay) .warning-icon{font-size:36px}@keyframes pulse-warning{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.violator-warning-title{font-family:var(--font-primary);font-size:1.5rem;font-weight:400;color:var(--vsg-magenta);margin:0;text-align:center;text-transform:uppercase;letter-spacing:1px;text-shadow:0 0 25px rgba(var(--vsg-magenta-rgb),.6)}.violator-warning-content{padding:24px;display:flex;flex-direction:column;gap:16px}.violator-warning-game-name{font-family:var(--font-primary);font-size:1.1rem;color:#fffffff2;margin:0;padding:8px 16px;background:rgba(var(--vsg-purple-rgb),.1);border-radius:8px;border:1px solid rgba(var(--vsg-purple-rgb),.2);text-align:center}.violator-warning-message-box{background:rgba(var(--vsg-magenta-rgb),.08);border:1px solid rgba(var(--vsg-magenta-rgb),.2);border-radius:8px;padding:16px}.violator-warning-message{font-size:1rem;color:#ffffffe6;margin:0 0 12px;line-height:1.5}.violator-warning-list{margin:0;padding-left:20px;color:#fffc;font-size:.95rem;line-height:1.8}.violator-warning-list li{margin-bottom:4px}.violator-warning-list li::marker{color:var(--vsg-magenta)}.violator-warning-cta{font-family:var(--font-primary);font-size:.95rem;color:var(--vsg-magenta);margin:0;text-align:center;font-weight:400}.violator-warning-footer{display:flex;justify-content:center;align-items:center;gap:12px;padding:16px 24px;border-top:1px solid rgba(var(--vsg-magenta-rgb),.2);background:rgba(var(--vsg-magenta-rgb),.05)}.glow-unread-shadow{box-shadow:0 0 12px 2px rgba(var(--vsg-purple-rgb),.4)}.glow-unread-border{border:2px solid rgba(var(--vsg-purple-rgb),.5)!important}.glow-unread-ring{outline:2px solid rgba(var(--vsg-purple-rgb),.4);outline-offset:2px}.glow-warning-shadow{box-shadow:0 0 12px 2px rgba(var(--vsg-magenta-rgb),.5)}.glow-warning-border{border:2px solid rgba(var(--vsg-magenta-rgb),.6)!important}.glow-warning-ring{outline:2px solid rgba(var(--vsg-magenta-rgb),.5);outline-offset:2px}.glow-warning-pulse{--glow-peak: 0 0 20px 4px rgba(var(--vsg-magenta-rgb), .7);--glow-period: 2s}.glow-warning-border.glow-warning-pulse{--glow-peak: none;--glow-inset: -2px;--glow-border: 2px solid rgba(var(--vsg-magenta-rgb), .9)}.glow-warning-ring.glow-warning-pulse{--glow-peak: none;--glow-inset: -4px;--glow-border: 2px solid rgba(var(--vsg-magenta-rgb), .8)}.glow-container{position:relative;transition:box-shadow .3s ease,border-color .3s ease,outline-color .3s ease}.glow-container-shadow{margin:2px}.glow-indicator{display:inline-flex;align-items:center;justify-content:center}.glow-indicator-dot{width:8px;height:8px;border-radius:50%}.glow-indicator-dot.glow-unread{background:var(--vsg-purple);box-shadow:0 0 6px 1px rgba(var(--vsg-purple-rgb),.6)}.glow-indicator-dot.glow-warning{background:var(--vsg-magenta);box-shadow:0 0 6px 1px rgba(var(--vsg-magenta-rgb),.6);animation:indicator-pulse 2s ease-in-out infinite}@keyframes indicator-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.8}}.glow-indicator-ring{width:12px;height:12px;border-radius:50%;border:2px solid}.glow-indicator-ring.glow-unread{border-color:var(--vsg-purple)}.glow-indicator-ring.glow-warning{border-color:var(--vsg-magenta);--glow-peak: none;--glow-inset: -1px;--glow-border: 3px solid var(--vsg-magenta);--glow-period: 2s}.glow-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;font-size:11px;font-weight:400;font-family:Roboto,sans-serif;color:#fff;line-height:1}.glow-badge.glow-unread{background:var(--vsg-purple);box-shadow:0 0 8px 2px rgba(var(--vsg-purple-rgb),.4)}.glow-badge.glow-warning{background:var(--vsg-magenta);box-shadow:0 0 8px 2px rgba(var(--vsg-magenta-rgb),.5);--glow-peak: 0 0 12px 4px rgba(var(--vsg-magenta-rgb), .7);--glow-period: 2s}.glow-badge-large{min-width:22px;height:22px;padding:0 6px;border-radius:11px;font-size:12px}.mark-all-read-dot{cursor:pointer;border:none;padding:0;opacity:.8;transition:all .2s ease}.mark-all-read-dot:hover{opacity:1;transform:scale(1.3);box-shadow:0 0 10px 3px rgba(var(--vsg-purple-rgb),.7)}.glow-none{box-shadow:none!important;border-color:transparent!important;outline:none!important}.glow-transition{transition:box-shadow .3s ease,border-color .3s ease,outline-color .3s ease}.edit-icon{display:inline-flex;align-items:center;justify-content:center;padding:4px;border:none;border-radius:6px;background:transparent;color:var(--vsg-purple);cursor:default;transition:all .2s ease}.edit-icon-medium{width:32px;height:32px}.edit-icon-small{width:24px;height:24px}.edit-icon.clickable{cursor:pointer}.edit-icon.clickable:hover{background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple);transform:scale(1.1)}.edit-icon.clickable:active{transform:scale(.95)}.edit-icon.disabled{opacity:.4;cursor:not-allowed}.edit-icon:disabled{opacity:.4;cursor:not-allowed}.edit-icon-medium .edit-svg{width:20px;height:20px}.edit-icon-small .edit-svg{width:16px;height:16px}.edit-icon-tiny{width:auto;height:auto;padding:2px 4px;border-radius:0;vertical-align:text-bottom;margin-left:4px;opacity:.7}.edit-icon-tiny .edit-svg{width:13px;height:13px}.edit-icon-tiny.clickable:hover{background:transparent;opacity:1;transform:scale(1.2)}.add-entry-modal{background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;max-width:600px;width:90%;max-height:calc(90 * var(--vh-fit));overflow-y:auto;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.2)}.add-entry-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.add-entry-modal .modal-title{font-size:20px;font-weight:400;color:var(--vsg-purple);margin:0}.add-entry-modal-content{display:flex;flex-direction:column;gap:20px;padding:24px}.add-entry-modal .error-message{padding:12px 16px;background:rgba(var(--vsg-error-rgb),.1);border:1px solid rgba(var(--vsg-error-rgb),.3);border-radius:6px;color:var(--vsg-error);font-size:14px}.add-entry-modal .form-group{display:flex;flex-direction:column;gap:8px}.add-entry-modal .form-label{font-size:14px;font-weight:400;color:#ffffffe6}.add-entry-modal .form-input,.add-entry-modal .form-textarea{padding:12px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;font-size:14px;font-family:inherit;transition:all .2s ease}.add-entry-modal .form-input:focus,.add-entry-modal .form-textarea:focus{outline:none;border-color:var(--vsg-purple);background:#ffffff14}.add-entry-modal .form-input:disabled,.add-entry-modal .form-textarea:disabled{opacity:.5;cursor:not-allowed}.add-entry-modal .form-input::placeholder,.add-entry-modal .form-textarea::placeholder{color:#fff6}.add-entry-modal .form-textarea{resize:vertical;min-height:120px;line-height:1.6}.add-entry-modal .char-count{align-self:flex-end;font-size:12px;color:#fff6}.add-entry-modal .modal-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.add-entry-modal .category-picker{display:flex;flex-wrap:wrap;gap:8px}.add-entry-modal .category-btn{padding:8px 16px;background:#ffffff0d;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:rgba(var(--vsg-purple-rgb),.7);font-family:var(--font-primary);font-size:13px;cursor:pointer;transition:all .2s ease}.add-entry-modal .category-btn:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.5);color:var(--vsg-purple)}.add-entry-modal .category-btn.active{background:rgba(var(--vsg-purple-rgb),.2);border-color:var(--vsg-purple);color:var(--vsg-purple);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.3)}.add-entry-modal .category-btn:disabled{opacity:.5;cursor:not-allowed}.add-entry-modal .subcategory-picker{display:flex;flex-wrap:wrap;gap:6px}.add-entry-modal .subcategory-btn{padding:5px 12px;background:#ffffff08;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:4px;color:rgba(var(--vsg-purple-rgb),.6);font-family:var(--font-primary);font-size:11px;cursor:pointer;transition:all .2s ease}.add-entry-modal .subcategory-btn:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.08);border-color:rgba(var(--vsg-purple-rgb),.4);color:rgba(var(--vsg-purple-rgb),.9)}.add-entry-modal .subcategory-btn.active{background:rgba(var(--vsg-purple-rgb),.15);border-color:var(--vsg-purple);color:var(--vsg-purple);box-shadow:0 0 8px rgba(var(--vsg-purple-rgb),.2)}.add-entry-modal .subcategory-btn:disabled{opacity:.5;cursor:not-allowed}.report-video-link{background:transparent;border:none;padding:4px 8px;font-family:var(--font-primary);font-size:12px;font-weight:400;color:#fff9;cursor:pointer;text-decoration:none;transition:color .2s ease}.report-video-link:hover:not(:disabled){color:var(--vsg-purple);text-decoration:underline}.report-video-link:disabled{color:#ffffff40;cursor:not-allowed}.report-video-toast{position:fixed;bottom:32px;right:32px;background:rgba(var(--vsg-surface-rgb),.95);border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:8px;padding:12px 18px;font-family:var(--font-primary);font-size:13px;color:#ffffffe6;z-index:1100;box-shadow:0 4px 24px #0009}.external-link-icon{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;padding:0;cursor:default;color:var(--vsg-purple)}.external-link-icon.clickable{cursor:pointer}.external-link-icon.disabled{opacity:.4;cursor:not-allowed}.external-link-icon-tiny .external-link-svg{width:13px;height:13px;vertical-align:text-bottom}.external-link-icon-small{width:24px;height:24px;border-radius:6px}.external-link-icon-small .external-link-svg{width:16px;height:16px}.external-link-icon-medium{width:32px;height:32px;border-radius:6px}.external-link-icon-medium .external-link-svg{width:20px;height:20px}.external-link-icon.clickable:hover:not(.disabled){background:rgba(var(--vsg-purple-rgb),.1)}.age-restricted-placeholder-card{background:#000000d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:12px;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3);padding:32px 28px;max-width:480px;width:calc(100% - 40px);display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px}.age-restricted-placeholder-title{margin:0;font-family:var(--font-primary);font-size:1.25rem;font-weight:400;color:var(--vsg-purple);text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5);letter-spacing:.5px}.age-restricted-placeholder-body{margin:0;font-family:var(--font-primary);font-size:14px;font-weight:400;color:#fffc;line-height:1.5}.age-restricted-placeholder-actions{margin-top:8px;display:flex;justify-content:center}.age-restricted-placeholder-actions .external-link-icon{margin-left:8px}.click-through-placeholder-card{background:#000000d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:12px;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3);padding:32px 28px;max-width:480px;width:calc(100% - 40px);display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px}.click-through-placeholder-title{margin:0;font-family:var(--font-primary);font-size:1.25rem;font-weight:400;color:var(--vsg-purple);text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5);letter-spacing:.5px}.click-through-placeholder-body{margin:0;font-family:var(--font-primary);font-size:14px;font-weight:400;color:#fffc;line-height:1.5}.click-through-placeholder-actions{margin-top:8px;display:flex;justify-content:center}.click-through-placeholder-actions .external-link-icon{margin-left:8px}.video-player-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.video-player-modal{background:rgba(var(--vsg-surface-rgb),.98);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;max-width:720px;width:100%;max-height:calc(90 * var(--vh-fit));display:flex;flex-direction:column;font-family:var(--font-primary);color:#ffffffe6}.video-player-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15)}.video-player-modal-title{font-family:var(--font-primary);font-weight:400;font-size:16px;color:var(--vsg-purple);margin:0;text-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.3)}.video-player-modal-close{background:transparent;border:none;color:#fff9;font-family:var(--font-primary);font-size:24px;cursor:pointer;padding:4px 12px;border-radius:6px;transition:all .2s ease}.video-player-modal-close:hover{color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.1)}.video-player-modal-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#000}.tiktok-player-iframe{display:block;width:100%;max-width:360px;aspect-ratio:9 / 16;max-height:calc(75 * var(--vh-fit));border:0;border-radius:8px;background:#000}.tiktok-player-fallback-link{font-family:var(--font-primary);font-size:12px;color:#fff9;text-decoration:none}.tiktok-player-fallback-link:hover{color:var(--vsg-purple);text-decoration:underline}.video-player-modal-footer{display:flex;justify-content:flex-end;padding:12px 24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.15)}.play-icon{display:inline-flex;align-items:center;justify-content:center;padding:4px;border:none;border-radius:6px;background:transparent;color:var(--vsg-purple);cursor:default;transition:all .2s ease}.play-icon-tiny{width:17px;height:17px;padding:2px;border-radius:0;vertical-align:text-bottom}.play-icon-small{width:24px;height:24px}.play-icon-medium{width:32px;height:32px}.play-icon-large{width:48px;height:48px}.play-icon.clickable{cursor:pointer}.play-icon.clickable:hover{background:rgba(var(--vsg-purple-rgb),.1);color:var(--vsg-purple);transform:scale(1.05)}.play-icon.disabled{opacity:.4}.play-svg{width:100%;height:100%}.play-icon-tiny .play-svg{width:13px;height:13px;opacity:.7}.video-hero-button-wrapper{display:inline-flex;align-items:center;flex-shrink:0;margin-right:6px;position:relative;z-index:10}.delete-scrim{display:inline-flex;align-items:center;justify-content:center;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:6px;padding:2px}.video-thumbnail-placeholder{width:100%;height:100%;background:#000000d9;box-shadow:inset 0 0 24px rgba(var(--vsg-purple-rgb),.15);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--vsg-purple)}.video-thumbnail-placeholder-icon{width:24px;height:24px;opacity:.4;pointer-events:none}.video-thumbnail-placeholder-handle{font-family:var(--font-primary);font-size:9px;font-weight:400;color:#ffffff80;letter-spacing:.3px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 4px}.age-gate-fallback-panel{display:flex;flex-direction:column;gap:16px;padding:20px;background:#000000d9;border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:12px;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3)}.age-gate-fallback-panel-warning{margin:0;font-family:var(--font-primary);font-size:14px;font-weight:400;color:#ffffffd9;line-height:1.5}.age-gate-fallback-panel-url{margin:0;font-family:var(--font-primary);font-size:12px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.6);word-break:break-all;padding:8px 12px;background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:6px}.age-gate-fallback-panel-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:4px}.embed-disabled-fallback-panel{display:flex;flex-direction:column;gap:16px;padding:20px;background:#000000d9;border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:12px;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3)}.embed-disabled-fallback-panel-warning{margin:0;font-family:var(--font-primary);font-size:14px;font-weight:400;color:#ffffffd9;line-height:1.5}.embed-disabled-fallback-panel-url{margin:0;font-family:var(--font-primary);font-size:12px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.6);word-break:break-all;padding:8px 12px;background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:6px}.embed-disabled-fallback-panel-classification{display:flex;flex-direction:column;gap:8px}.embed-disabled-fallback-panel-label{font-family:var(--font-primary);font-size:11px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.9);text-transform:uppercase;letter-spacing:1px}.embed-disabled-fallback-panel-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:4px}.video-edit-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.video-edit-modal{background:rgba(var(--vsg-surface-rgb),.98);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;max-width:720px;width:100%;max-height:calc(92 * var(--vh-fit));display:flex;flex-direction:column;font-family:var(--font-primary);color:#ffffffe6}.video-edit-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15)}.video-edit-modal-close{background:transparent;border:none;color:#fff9;font-family:var(--font-primary);font-size:24px;cursor:pointer;padding:4px 12px;border-radius:6px;transition:all .2s ease}.video-edit-modal-close:hover{color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.1)}.video-edit-modal-body{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:24px}.video-edit-paste-section,.video-edit-existing-section{font-family:var(--font-primary)}.video-edit-paste-label,.video-edit-subheader{display:block;font-family:var(--font-primary);font-weight:400;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--vsg-purple);margin:0 0 8px}.video-edit-paste-row{display:flex;gap:8px;align-items:stretch}.video-edit-paste-input{flex:1;font-family:var(--font-primary);font-size:14px;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;padding:8px 12px;color:#ffffffe6}.video-edit-paste-input:focus{outline:none;border-color:rgba(var(--vsg-purple-rgb),.6);background:#000000d9}.video-edit-paste-help{font-family:var(--font-primary);font-size:12px;color:#ffffff80;margin:8px 0 0}.video-edit-preview{display:flex;gap:12px;align-items:center;margin-top:16px;padding:12px;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:8px}.video-edit-preview-thumb{width:56px;height:100px;object-fit:cover;border-radius:6px}.video-edit-preview-meta{display:flex;flex-direction:column;gap:4px;font-family:var(--font-primary)}.video-edit-preview-meta strong{color:#fffffff2;font-weight:400;font-size:13px}.video-edit-preview-meta span{color:#fff9;font-size:12px}.classification-step{margin-top:16px;display:flex;flex-direction:column;gap:8px}.classification-step-help{font-family:var(--font-primary);font-size:12px;color:#ffffff80;margin:0}.classification-step-locked{font-family:var(--font-primary);font-size:12px;color:var(--vsg-magenta);margin:0}.video-edit-error{font-family:var(--font-primary);font-size:13px;color:var(--vsg-magenta);margin-top:12px}.video-edit-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.15)}.attachment-list{display:flex;flex-direction:column;gap:12px;margin-top:12px}.attachment-row{display:flex;gap:12px;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:8px;padding:12px}.attachment-row-hero{border-color:rgba(var(--vsg-purple-rgb),.5)}.attachment-row-thumbnail{position:relative;width:56px;height:100px;flex-shrink:0;border-radius:6px;overflow:hidden}.attachment-row-thumbnail img{width:100%;height:100%;object-fit:cover}.attachment-row-meta{flex:1;display:flex;flex-direction:column;gap:8px;font-family:var(--font-primary)}.attachment-row-title{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-primary);font-size:13px;color:#ffffffe6}.attachment-row-title-input{font-family:var(--font-primary);font-size:13px;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;padding:4px 8px;color:#ffffffe6}.attachment-row-hero-indicator{font-family:var(--font-primary);font-size:11px;font-weight:400;letter-spacing:.5px;text-transform:uppercase;color:var(--vsg-purple);align-self:flex-start;padding:2px 0}.videos-section{font-family:var(--font-primary)}.videos-section-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.videos-section-loading{font-family:var(--font-primary);font-weight:400;font-size:13px;color:#fff9;margin:8px 0 0}.videos-section-empty{margin-top:12px}.videos-section-grid{margin-top:16px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media (min-width: 600px){.videos-section-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1200px){.videos-section-grid{grid-template-columns:repeat(4,1fr)}}.video-thumbnail{position:relative;aspect-ratio:9 / 16;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;overflow:hidden;cursor:pointer;background:#00000080;padding:0;transition:all .2s ease}.video-thumbnail:hover{border-color:rgba(var(--vsg-purple-rgb),.5);transform:scale(1.03);box-shadow:0 4px 16px rgba(var(--vsg-purple-rgb),.2)}.video-thumbnail-hero{border-color:rgba(var(--vsg-purple-rgb),.4)}.video-thumbnail img{width:100%;height:100%;object-fit:cover;display:block}.video-thumbnail-overlay{position:absolute;inset:auto 0 0 0;padding:8px 10px;background:linear-gradient(to top,#000000e6,#0000);color:#fffffff2}.video-thumbnail-title{font-family:var(--font-primary);font-weight:400;font-size:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-align:left}.game-card{width:100%;min-width:0;background:#000c;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;overflow:visible;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;min-height:400px;display:flex;flex-direction:column}.game-card:hover{transform:translateY(-5px);border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 10px 30px rgba(var(--vsg-purple-rgb),.2);cursor:pointer}.game-card-background{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1;border-radius:12px;overflow:hidden}.game-card-background img{width:100%;height:100%;object-fit:cover;object-position:top center}.game-card-content{position:relative;z-index:2;width:100%;flex:1;display:flex;flex-direction:column;min-height:0}.game-image-upload-area{position:absolute;bottom:10px;left:50%;transform:translate(-50%);cursor:pointer;z-index:10;opacity:0;transition:opacity .3s ease}.game-card:hover .game-image-upload-area{opacity:1}.claude-button{position:absolute;top:10px;right:10px;padding:4px 8px;border-radius:20px;font-size:11px;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:1px;font-weight:400;border:none;cursor:pointer;transition:all .3s ease;z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:75px;text-align:center}.claude-button:hover{transform:scale(1.05);box-shadow:0 4px 15px #0000004d}.claude-button.claude-tier-none{background:rgba(var(--vsg-purple-rgb),.15);color:rgba(var(--vsg-purple-rgb),.6);border:1px solid rgba(var(--vsg-purple-rgb),.3)}.claude-button.claude-tier-pro{background:rgba(var(--vsg-purple-rgb),.25);color:rgba(var(--vsg-purple-rgb),.9);border:1px solid rgba(var(--vsg-purple-rgb),.5)}.claude-button.claude-tier-max5x{background:rgba(var(--vsg-purple-rgb),.35);color:var(--vsg-purple);border:1px solid rgba(var(--vsg-purple-rgb),.7);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.3)}.claude-button.claude-tier-max20x{background:rgba(var(--vsg-magenta-rgb),.4);color:var(--vsg-magenta);border:1px solid rgba(var(--vsg-magenta-rgb),.8);box-shadow:0 0 15px rgba(var(--vsg-magenta-rgb),.4);--glow-peak: 0 0 25px rgba(var(--vsg-magenta-rgb), .6);--glow-period: 2s;--glow-ease: ease}.monetization-button{position:absolute;top:10px;right:10px;padding:4px 8px;border-radius:20px;font-size:11px;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:1px;font-weight:400;border:none;cursor:pointer;transition:all .3s ease;z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:75px;text-align:center}.monetization-button.center{left:50%;right:auto;transform:translate(-50%)}.monetization-button.center:hover{transform:translate(-50%) scale(1.05)}.monetization-button:hover{transform:scale(1.05);box-shadow:0 4px 15px #0000004d}.monetization-button.free{background:rgba(var(--vsg-success-rgb),.2);color:var(--vsg-success);border:1px solid rgba(var(--vsg-success-rgb),.3)}.monetization-button.hybrid{background:rgba(var(--vsg-gold-rgb),.2);color:var(--vsg-gold);border:1px solid rgba(var(--vsg-gold-rgb),.3)}.monetization-button.subscriptions{background:rgba(var(--vsg-error-rgb),.2);color:var(--vsg-error);border:1px solid rgba(var(--vsg-error-rgb),.3)}.game-card .role-badge{position:absolute;top:10px;left:10px;padding:4px 8px;border-radius:20px;font-size:11px;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:1px;font-weight:400;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;transition:all .3s ease;min-width:75px;text-align:center}.game-card .role-badge.creator{background:rgba(var(--vsg-success-rgb),.2);color:var(--vsg-success);border:1px solid rgba(var(--vsg-success-rgb),.3);box-shadow:none;text-shadow:none;font-weight:400;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.game-card .role-badge.creator.clickable{cursor:pointer;transition:all .3s ease}.game-card .role-badge.creator.clickable:hover{background:rgba(var(--vsg-success-rgb),.3);transform:scale(1.05)}.game-card .role-badge.player{background:linear-gradient(135deg,rgba(var(--vsg-gold-rgb),.3),rgba(var(--vsg-gold-rgb),.3));color:var(--vsg-gold);border:1px solid rgba(var(--vsg-gold-rgb),.5);box-shadow:0 2px 10px rgba(var(--vsg-gold-rgb),.3)}.game-card .role-badge.spectator{background:linear-gradient(135deg,rgba(var(--vsg-error-rgb),.3),rgba(var(--vsg-error-rgb),.3));color:var(--vsg-error);border:1px solid rgba(var(--vsg-error-rgb),.5);box-shadow:0 2px 10px rgba(var(--vsg-error-rgb),.3)}.game-card-header{position:relative;height:150px;background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.1),rgba(var(--vsg-purple-rgb),.06));transition:all .3s ease}.game-card-header.clickable{cursor:pointer}.game-card-header.clickable:hover .image-overlay{opacity:1}.game-card-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}.game-card-image img{width:100%;height:100%;object-fit:contain;object-position:center}:where(.game-card) .image-placeholder{position:absolute;top:0;left:0;right:0;height:150px;background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.2),rgba(var(--vsg-purple-rgb),.13));display:flex;align-items:flex-start!important;justify-content:center;padding-top:100px!important;z-index:1}.game-initials{font-size:72px;color:rgba(var(--vsg-purple-rgb),.4);font-family:var(--font-primary);font-weight:300;letter-spacing:4px;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5);text-transform:none!important}:where(.game-card) .image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;pointer-events:none}:where(.game-card) .image-overlay svg{color:rgba(var(--vsg-purple-rgb),.8)}.game-card .status-badge{position:absolute;top:10px;left:50%;transform:translate(-50%);padding:4px 8px;border-radius:20px;font-size:11px;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:1px;font-weight:400;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);white-space:nowrap;min-width:75px;max-width:75px;text-align:center;overflow:hidden;text-overflow:ellipsis}.game-card .status-badge.active{background:rgba(var(--vsg-success-rgb),.2);color:var(--vsg-success);border:1px solid rgba(var(--vsg-success-rgb),.3)}.game-card .status-badge.paused{background:rgba(var(--vsg-caution-rgb),.2);color:var(--vsg-caution);border:1px solid rgba(var(--vsg-caution-rgb),.3)}.game-card .status-badge.archived{background:#ffffff1a;color:#ffffff80;border:1px solid rgba(255,255,255,.15)}.game-card .status-badge.locked{background:rgba(var(--vsg-error-rgb),.2);color:var(--vsg-error);border:1px solid rgba(var(--vsg-error-rgb),.3);box-shadow:0 2px 10px rgba(var(--vsg-error-rgb),.3)}.game-card-body{padding:20px;background:linear-gradient(to bottom,#0003,#0006);margin-top:auto;position:relative;z-index:10;pointer-events:auto!important}.game-name-row{display:flex;align-items:center;gap:8px;margin-bottom:8px;pointer-events:auto;position:relative;z-index:10;min-width:0;width:100%}.game-name-row-spacer{flex:1}.game-name-row .access-status-badge{margin-right:-10px}.game-card-info-button{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:rgba(var(--vsg-purple-rgb),.6);cursor:pointer;transition:all .2s;padding:0;margin-right:6px;pointer-events:auto;position:relative;z-index:10}.game-card-info-button:hover{color:var(--vsg-purple);transform:scale(1.15)}.game-card-info-button svg{width:18px;height:18px}:where(.game-card) .card-genre-badges{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.game-links{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.link-tag{display:inline-flex;align-items:center;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:400;letter-spacing:.3px;font-family:inherit;cursor:default;border:none;background:transparent}.link-tag.clickable{cursor:pointer;transition:all .2s ease}.link-tag.system{background:rgba(var(--vsg-magenta-rgb),.2);border:1px solid rgba(var(--vsg-magenta-rgb),.4);color:rgba(var(--vsg-magenta-rgb),.95)}.link-tag.system.clickable:hover{background:rgba(var(--vsg-magenta-rgb),.35);border-color:rgba(var(--vsg-magenta-rgb),.6);transform:translateY(-1px)}.link-tag.world{background:rgba(var(--vsg-purple-rgb),.2);border:1px solid rgba(var(--vsg-purple-rgb),.4);color:rgba(var(--vsg-purple-rgb),.95)}.link-tag.world.clickable:hover{background:rgba(var(--vsg-purple-rgb),.35);border-color:rgba(var(--vsg-purple-rgb),.6);transform:translateY(-1px)}.link-tag.worldless{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#ffffff80}.game-stats{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:0;padding-top:16px;border-top:1px solid rgba(var(--vsg-purple-rgb),.1);pointer-events:auto!important;position:relative;z-index:100}.game-stats .stat{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:13px;color:#ffffffb3;pointer-events:auto!important;position:relative;z-index:100;flex-shrink:0}.game-stats .stat>span{pointer-events:auto!important}.game-stats svg:not(.trash-svg){color:rgba(var(--vsg-purple-rgb),.6)}.game-stats .stat.stat-multiline{flex-direction:row;align-items:flex-start;flex:1;min-width:0}.game-stats .stat:not(.stat-multiline){flex-shrink:0;white-space:nowrap}.game-stats .stat-content{display:flex;flex-direction:column;gap:2px}.game-stats .stat-line-2{font-size:13px}.game-stats .stat svg{flex-shrink:0}.last-post-green{color:var(--vsg-success)!important;font-size:13px;font-weight:400}.last-post-yellow{color:var(--vsg-gold)!important;font-size:13px;font-weight:400}.last-post-red{color:var(--vsg-error)!important;font-size:13px;font-weight:400}.game-actions{display:flex;justify-content:center;gap:10px;position:relative;z-index:10}.game-actions .launch-btn{min-width:120px}:where(.game-card) .empty-state-card{border-radius:12px;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}:where(.game-card) .empty-state-content h3{font-family:var(--font-primary);font-size:28px;color:var(--vsg-purple);margin-bottom:20px;letter-spacing:1px}:where(.game-card) .empty-state-buttons{display:flex;gap:20px;justify-content:center}.game-stats .claude-subscription{font-weight:400;transition:all .3s ease;letter-spacing:.5px}.game-stats .ai-powered{position:relative}.game-stats .claude-tier-none{color:rgba(var(--vsg-purple-rgb),.4);font-size:.85em}.game-stats .claude-tier-pro{color:rgba(var(--vsg-purple-rgb),.8);font-weight:400}.game-stats .claude-tier-max5x{color:rgba(var(--vsg-purple-rgb),1);font-weight:400;text-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.4)}.game-stats .claude-tier-max20x{color:var(--vsg-magenta);font-weight:400;text-shadow:0 0 15px rgba(var(--vsg-magenta-rgb),.6)}.game-card.locked{opacity:.5;cursor:not-allowed}.game-card.locked:hover{transform:none;border-color:rgba(var(--vsg-purple-rgb),.2);box-shadow:none}.game-card.locked:before{content:"🔒";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:64px;opacity:.3;z-index:5;pointer-events:none}.game-card.locked .game-card-body{pointer-events:none}.game-card .styled-display-name-with-tooltip,.game-stats .styled-display-name-with-tooltip,:where(.game-card) .stat .styled-display-name-with-tooltip,:where(.game-card) .styled-display-name-with-tooltip{position:relative!important;cursor:pointer!important;display:inline-block!important;pointer-events:auto!important}.game-card .styled-display-name-with-tooltip .gm-rank-tooltip,.game-stats .styled-display-name-with-tooltip .gm-rank-tooltip,:where(.game-card) .stat .styled-display-name-with-tooltip .gm-rank-tooltip,:where(.game-card) .styled-display-name-with-tooltip .gm-rank-tooltip{visibility:hidden;position:absolute;bottom:125%;left:50%;transform:translate(-50%);background:#000000f2;color:#fffffff2;padding:8px 12px;border-radius:6px;border:1px solid rgba(var(--vsg-purple-rgb),.4);font-size:.85rem;white-space:nowrap;z-index:10000;pointer-events:none;box-shadow:0 4px 12px #00000080}.game-card .styled-display-name-with-tooltip:hover .gm-rank-tooltip,.game-stats .styled-display-name-with-tooltip:hover .gm-rank-tooltip,:where(.game-card) .stat .styled-display-name-with-tooltip:hover .gm-rank-tooltip,:where(.game-card) .styled-display-name-with-tooltip:hover .gm-rank-tooltip{visibility:visible}.dreamer-actions{display:inline;margin-left:6px}.carousel-controls{display:flex;flex-wrap:wrap;gap:var(--filter-group-gap);align-items:center;justify-content:center;margin-bottom:var(--dashboard-section-gap, 16px)}.carousel-controls-search-btn{position:relative;display:flex;align-items:center;justify-content:center;width:var(--filter-h);height:var(--filter-h);background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:#fff9;cursor:pointer;transition:all .3s ease;padding:0;margin:0 -28px}.carousel-controls-search-btn:hover:not(:disabled){color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.15)}.carousel-controls-search-btn.has-filters{color:var(--vsg-purple);border-color:rgba(var(--vsg-purple-rgb),.5);background:rgba(var(--vsg-purple-rgb),.15)}.carousel-controls-search-btn:disabled{opacity:.3;cursor:not-allowed}.carousel-controls-search-badge{position:absolute;top:-6px;right:-6px;min-width:var(--filter-badge);height:var(--filter-badge);padding:var(--filter-badge-pad);background:var(--vsg-purple);color:#fff;font-size:var(--filter-badge-label);font-weight:400;font-family:var(--font-primary);border-radius:20px;display:flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 0 8px rgba(var(--vsg-purple-rgb),.4)}.filter-field{display:flex;flex-direction:column;gap:6px}.filter-field-label{font-family:var(--font-primary);font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:1.2px;color:#ffffff80}.filter-field-input,.filter-field-select{background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;color:#ffffffd9;font-size:14px;padding:8px 12px;outline:none;transition:all .3s ease;width:100%;box-sizing:border-box}.filter-field-input::placeholder{color:#fff6}.filter-field-input:focus,.filter-field-select:focus{border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.1)}.filter-field-dropdown{width:100%}.filter-field-date{color-scheme:dark}.filter-field-toggle-group{display:flex;gap:0;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;overflow:hidden;background:#00000080}.filter-field-toggle-btn{flex:1;padding:7px 12px;background:transparent;border:none;border-right:1px solid rgba(var(--vsg-purple-rgb),.15);color:#fff9;font-family:var(--font-primary);font-size:12px;font-weight:400;letter-spacing:.5px;cursor:pointer;transition:all .2s ease;text-transform:uppercase;white-space:nowrap}.filter-field-toggle-btn:last-child{border-right:none}.filter-field-toggle-btn:hover:not(.active){color:#fffc;background:rgba(var(--vsg-purple-rgb),.08)}.filter-field-toggle-btn.active{color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.15);font-weight:400;border-color:rgba(var(--vsg-purple-rgb),.4)}.filter-genre-count{margin-left:8px;color:rgba(var(--vsg-purple-rgb),.6);font-weight:400;font-size:10px}.filter-genre-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.filter-genre-pill{display:flex;align-items:center;justify-content:center;padding:8px 10px;border-radius:20px;border:1px solid rgba(var(--vsg-purple-rgb),.3);background:rgba(var(--vsg-purple-rgb),.08);color:#ffffff9c;font-family:var(--font-primary);font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .3s ease;text-align:center;min-height:36px}.filter-genre-pill:hover{border-color:rgba(var(--vsg-purple-rgb),.6);background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple)}.filter-genre-pill.selected-main{background:rgba(var(--vsg-magenta-rgb),.2);border-color:rgba(var(--vsg-magenta-rgb),.5);color:var(--vsg-magenta);box-shadow:0 0 12px rgba(var(--vsg-magenta-rgb),.15)}.filter-genre-pill.selected-sub{background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.5);color:var(--vsg-purple);box-shadow:0 0 12px rgba(var(--vsg-purple-rgb),.15)}.advanced-search-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;animation:advSearchFadeIn .2s ease}@keyframes advSearchFadeIn{0%{opacity:0}to{opacity:1}}.advanced-search-modal{background:transparent;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;box-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.2);width:480px;max-width:calc(90 * var(--vw-fit));max-height:calc(80 * var(--vh-fit));display:flex;flex-direction:column;animation:advSearchSlideIn .3s ease}@keyframes advSearchSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.advanced-search-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15)}.advanced-search-title{font-family:var(--font-primary);font-size:18px;font-weight:400;text-transform:uppercase;letter-spacing:1.5px;color:var(--vsg-purple);margin:0}.advanced-search-close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:8px;color:#ffffff80;cursor:pointer;transition:all .2s ease;padding:0}.advanced-search-close-btn:hover{color:var(--vsg-magenta);border-color:rgba(var(--vsg-magenta-rgb),.4);background:rgba(var(--vsg-magenta-rgb),.1)}.advanced-search-body{padding:20px 24px;overflow-y:auto;display:flex;flex-direction:column;gap:16px;flex:1;min-height:0}.advanced-search-body::-webkit-scrollbar{width:6px}.advanced-search-body::-webkit-scrollbar-track{background:transparent}.advanced-search-body::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.3);border-radius:4px}.advanced-search-body::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.5)}.advanced-search-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 24px 20px;border-top:1px solid rgba(var(--vsg-purple-rgb),.15)}.advanced-search-clear-btn{padding:10px 18px;background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:10px;color:#fff9;font-family:var(--font-primary);font-size:13px;font-weight:400;letter-spacing:.8px;text-transform:uppercase;cursor:pointer;transition:all .3s ease}.advanced-search-clear-btn:hover:not(:disabled){color:#ffffffd9;border-color:rgba(var(--vsg-purple-rgb),.4);background:rgba(var(--vsg-purple-rgb),.08)}.advanced-search-clear-btn:disabled{opacity:.3;cursor:not-allowed}.advanced-search-apply-btn{padding:10px 24px;background:linear-gradient(135deg,var(--vsg-purple),rgba(var(--vsg-purple-rgb),.64));border:none;border-radius:10px;color:#fff;font-family:var(--font-primary);font-size:13px;font-weight:400;letter-spacing:.8px;text-transform:uppercase;cursor:pointer;transition:all .3s ease;box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.2)}.advanced-search-apply-btn:hover{background:linear-gradient(135deg,var(--vsg-purple),rgba(var(--vsg-purple-rgb),.69));box-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.3)}.advanced-search-apply-count{margin-left:6px;opacity:.8;font-weight:400}@keyframes realtimeCardFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes realtimeCardFadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}.realtime-card--appearing{animation:realtimeCardFadeIn .2s ease}.realtime-card--removing{animation:realtimeCardFadeOut .2s ease forwards;pointer-events:none}.world-card{width:100%;min-width:0;background:#000c;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;overflow:hidden;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;min-height:400px;display:flex;flex-direction:column}.world-card:hover{transform:translateY(-5px);border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 10px 30px rgba(var(--vsg-purple-rgb),.2);cursor:pointer}.world-card-background{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1;border-radius:12px;overflow:hidden}.world-card-background img{width:100%;height:100%;object-fit:cover;object-position:top center}.world-card-background.clickable{cursor:pointer}.world-card-background.clickable:hover:after{content:"📷";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:32px;background:#0009;border-radius:50%;width:60px;height:60px;display:flex;align-items:center;justify-content:center;opacity:.9}.world-card-content{position:relative;z-index:2;width:100%;flex:1;display:flex;flex-direction:column;min-height:0}.world-image-upload-area{position:absolute;bottom:10px;left:50%;transform:translate(-50%);cursor:pointer;z-index:10;opacity:0;transition:opacity .3s ease}.world-card:hover .world-image-upload-area{opacity:1}.world-card .role-badge{position:absolute;top:10px;left:10px;padding:4px 12px;border-radius:20px;font-size:11px;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:1px;font-weight:400;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;transition:all .3s ease}.world-card .role-badge.creator{background:rgba(var(--vsg-success-rgb),.2);color:var(--vsg-success);border:1px solid rgba(var(--vsg-success-rgb),.3);box-shadow:0 2px 10px rgba(var(--vsg-success-rgb),.3)}.world-card .role-badge.creator.clickable{cursor:pointer;transition:all .3s ease}.world-card .role-badge.creator.clickable:hover{background:rgba(var(--vsg-success-rgb),.4);transform:scale(1.05);box-shadow:0 4px 15px rgba(var(--vsg-success-rgb),.5)}.world-card .role-badge.denizen{background:rgba(var(--vsg-gold-rgb),.2);color:var(--vsg-gold);border:1px solid rgba(var(--vsg-gold-rgb),.3);box-shadow:0 2px 10px rgba(var(--vsg-gold-rgb),.3)}.world-card .role-badge.denizen.clickable{cursor:pointer;transition:all .3s ease}.world-card .role-badge.denizen.clickable:hover{background:rgba(var(--vsg-gold-rgb),.4);transform:scale(1.05);box-shadow:0 4px 15px rgba(var(--vsg-gold-rgb),.5)}.world-card .role-badge.alien{background:rgba(var(--vsg-error-rgb),.2);color:var(--vsg-error);border:1px solid rgba(var(--vsg-error-rgb),.3);box-shadow:0 2px 10px rgba(var(--vsg-error-rgb),.3)}.world-card .role-badge.alien.clickable{cursor:pointer;transition:all .3s ease}.world-card .role-badge.alien.clickable:hover{background:rgba(var(--vsg-error-rgb),.4);transform:scale(1.05);box-shadow:0 4px 15px rgba(var(--vsg-error-rgb),.5)}.world-card-header{position:relative;height:150px;background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.1),rgba(var(--vsg-purple-rgb),.06));transition:all .3s ease}.world-card-header.clickable{cursor:pointer}.world-card-header.clickable:hover .image-overlay{opacity:1!important}.world-card-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}.world-card-image img{width:100%;height:100%;object-fit:contain;object-position:center}:where(.world-card) .image-placeholder{position:absolute;top:0;left:0;right:0;height:150px;background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.2),rgba(var(--vsg-purple-rgb),.13));display:flex;align-items:flex-start!important;justify-content:center;padding-top:100px!important;z-index:1}.world-initials{font-size:72px;color:rgba(var(--vsg-purple-rgb),.4);font-family:var(--font-primary);font-weight:300;letter-spacing:4px;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5);text-transform:none!important}:where(.world-card) .image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;pointer-events:none}:where(.world-card) .image-overlay svg{color:rgba(var(--vsg-purple-rgb),.8)}.world-card .type-badge{position:absolute;top:10px;left:50%;transform:translate(-50%);padding:4px 12px;border-radius:20px;font-size:11px;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:1px;font-weight:400;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.world-card .type-badge.open{background:rgba(var(--vsg-success-rgb),.2);color:var(--vsg-success);border:1px solid rgba(var(--vsg-success-rgb),.3)}.world-card .type-badge.closed{background:rgba(var(--vsg-error-rgb),.2);color:var(--vsg-error);border:1px solid rgba(var(--vsg-error-rgb),.3)}.world-card .type-badge.restricted{background:rgba(var(--vsg-caution-rgb),.2);color:var(--vsg-caution);border:1px solid rgba(var(--vsg-caution-rgb),.3)}.world-card .lore-badge{position:absolute;top:10px;right:10px;padding:4px 12px;border-radius:20px;font-size:11px;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:1px;font-weight:400;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10}.world-card .lore-badge.free-for-all{background:rgba(var(--vsg-success-rgb),.2);color:var(--vsg-success);border:1px solid rgba(var(--vsg-success-rgb),.3)}.world-card .lore-badge.by-approval{background:rgba(var(--vsg-caution-rgb),.2);color:var(--vsg-caution);border:1px solid rgba(var(--vsg-caution-rgb),.3)}.world-card .lore-badge.off-limits{background:rgba(var(--vsg-error-rgb),.2);color:var(--vsg-error);border:1px solid rgba(var(--vsg-error-rgb),.3)}.world-card .lore-badge.not-set{background:#ffffff1a;color:#ffffff80;border:1px solid rgba(255,255,255,.15)}.world-card-body{padding:20px;background:linear-gradient(to bottom,#0003,#0006);margin-top:auto;position:relative}.world-name-row{display:flex;align-items:center;gap:8px;margin-bottom:8px;pointer-events:auto;position:relative;z-index:10;min-width:0;width:100%}.world-name-row-spacer{flex:1}.world-name{margin:0;font-family:var(--font-primary);font-size:20px;font-weight:400;color:#fffffff2;letter-spacing:.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%;min-width:0}.world-card-info-button{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:rgba(var(--vsg-purple-rgb),.6);cursor:pointer;transition:all .2s;padding:0;pointer-events:auto;position:relative;z-index:10}.world-card-info-button:hover{color:var(--vsg-purple);transform:scale(1.15)}.world-card-info-button svg{width:18px;height:18px}.card-genre-badges{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.world-game-system{margin:-4px 0 12px;font-size:14px;color:#ffffffe6;font-style:normal;opacity:.9}.world-world{margin:0 0 16px;font-size:14px;color:#fff9;font-style:normal}.world-stats{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:0;padding-top:16px;border-top:1px solid rgba(var(--vsg-purple-rgb),.1)}.world-stats .stat{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:13px;color:#ffffffb3;flex-shrink:0;white-space:nowrap}.world-stats svg:not(.trash-svg){color:rgba(var(--vsg-purple-rgb),.6)}.world-stats .stat.stat-multiline{flex-direction:row;align-items:flex-start;flex:1;min-width:0}.world-stats .stat-content{display:flex;flex-direction:column;gap:2px}.world-stats .stat-line-2{font-size:13px}.world-stats .stat-count-green{color:var(--vsg-success)!important;font-size:13px;font-weight:400}.world-stats .stat-count-yellow{color:var(--vsg-gold)!important;font-size:13px;font-weight:400}.world-stats .stat-count-red{color:var(--vsg-error)!important;font-size:13px;font-weight:400}.world-actions{display:flex;justify-content:center;gap:10px;margin-top:10px;position:relative;z-index:10}.world-actions .explore-btn{min-width:120px}.world-restriction-notice{font-size:14px;color:#ffffffb3;line-height:1.6;margin-bottom:30px;max-width:600px;margin-left:auto;margin-right:auto;font-style:normal}:where(.world-card) .empty-state-buttons{display:flex;gap:20px;justify-content:center}.split-icon{display:inline-flex;align-items:center;justify-content:center;padding:2px;border-radius:4px;background:transparent;color:var(--vsg-purple);transition:all .2s ease}.split-icon-medium{width:24px;height:24px}.split-icon-small{width:18px;height:18px}.split-icon.clickable{cursor:pointer}.split-icon.clickable:hover{background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple)}.split-icon.disabled{opacity:.4;cursor:not-allowed}.split-icon-medium .split-svg{width:18px;height:18px}.split-icon-small .split-svg{width:14px;height:14px}.fuse-icon{display:inline-flex;align-items:center;justify-content:center;padding:2px;border-radius:4px;background:transparent;color:var(--vsg-purple);transition:all .2s ease}.fuse-icon-medium{width:24px;height:24px}.fuse-icon-small{width:18px;height:18px}.fuse-icon.clickable{cursor:pointer}.fuse-icon.clickable:hover{background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple)}.fuse-icon.disabled{opacity:.4;cursor:not-allowed}.fuse-icon-medium .fuse-svg{width:18px;height:18px}.fuse-icon-small .fuse-svg{width:14px;height:14px}.agent-icon{position:relative;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid var(--vsg-purple);border-radius:6px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;padding:0;overflow:hidden;flex-shrink:0}.agent-icon:hover{background:rgba(var(--vsg-purple-rgb),.2);border-color:var(--vsg-purple);transform:scale(1.1)}.agent-icon:active{transform:scale(1)}.agent-icon.size-small{width:24px;height:24px;min-width:24px;min-height:24px;border-radius:4px}.agent-icon.size-normal{width:32px;height:32px;min-width:32px;min-height:32px}.agent-icon.size-large{width:48px;height:48px;min-width:48px;min-height:48px}.agent-icon-portrait{width:100%;height:100%;object-fit:cover;display:block;transition:all .2s}.agent-icon.inactive{border-color:rgba(var(--vsg-magenta-rgb),.5);background:rgba(var(--vsg-magenta-rgb),.05)}.agent-icon.inactive:hover{border-color:rgba(var(--vsg-magenta-rgb),.7);background:rgba(var(--vsg-magenta-rgb),.1)}.agent-icon.available{border-color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.1)}.agent-icon.available:hover{border-color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.2)}.agent-icon.analyzing{border-color:var(--vsg-analyzing);background:rgba(var(--vsg-analyzing-rgb),.15);cursor:wait;animation:agent-pulse-analyzing 1.5s ease-in-out infinite;--glow-rest: 0 0 10px rgba(var(--vsg-analyzing-rgb), .4);--glow-peak: 0 0 20px rgba(var(--vsg-analyzing-rgb), .6);--glow-period: 1.5s}.agent-icon.analyzing:hover{transform:none}.agent-icon.monitoring{border-color:var(--vsg-analyzing);background:rgba(var(--vsg-analyzing-rgb),.15);cursor:pointer;box-shadow:0 0 10px rgba(var(--vsg-analyzing-rgb),.4)}.agent-icon.monitoring:hover{background:rgba(var(--vsg-analyzing-rgb),.25);box-shadow:0 0 15px rgba(var(--vsg-analyzing-rgb),.5)}.agent-icon.queued{border-color:rgba(var(--vsg-analyzing-rgb),.5);background:rgba(var(--vsg-analyzing-rgb),.05);cursor:pointer;animation:agent-pulse-queued 2.5s ease-in-out infinite;--glow-rest: 0 0 8px rgba(var(--vsg-analyzing-rgb), .2);--glow-peak: 0 0 14px rgba(var(--vsg-analyzing-rgb), .4);--glow-period: 2.5s}.agent-icon.queued:hover{border-color:var(--vsg-analyzing);background:rgba(var(--vsg-analyzing-rgb),.12)}.agent-icon.stale{border-color:var(--vsg-caution);background:rgba(var(--vsg-caution-rgb),.1)}.agent-icon.stale:hover{border-color:var(--vsg-caution);background:rgba(var(--vsg-caution-rgb),.2)}.agent-icon.error{border-color:var(--vsg-error);background:rgba(var(--vsg-error-rgb),.1)}.agent-icon.error:hover{border-color:var(--vsg-error);background:rgba(var(--vsg-error-rgb),.15)}.agent-icon.locked{border-color:rgba(var(--vsg-purple-rgb),.15);background:rgba(var(--vsg-purple-rgb),.05);cursor:not-allowed;opacity:.5}.agent-icon.locked:hover{transform:none;border-color:rgba(var(--vsg-purple-rgb),.15);background:rgba(var(--vsg-purple-rgb),.05)}.agent-icon.locked .agent-icon-portrait{filter:grayscale(100%)}.agent-icon.active-panel{box-shadow:0 0 12px rgba(var(--vsg-purple-rgb),.4)}@keyframes agent-pulse-analyzing{0%,to{opacity:1}50%{opacity:.6}}@keyframes agent-pulse-queued{0%,to{opacity:1}50%{opacity:.7}}.agent-icon.profile-herodotus-icon{width:36px;height:36px;min-width:36px;min-height:36px}.gm-notes-editor{margin-top:28px;padding-top:24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.15)}.gm-notes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.gm-notes-title-row{display:flex;align-items:center;gap:8px}.gm-notes-title{font-size:11px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.8);margin:0;text-transform:uppercase;letter-spacing:1.5px;font-family:var(--font-primary)}.gm-notes-info-icon{display:flex;align-items:center;justify-content:center;color:rgba(var(--vsg-purple-rgb),.5);cursor:help;transition:color .2s ease}.gm-notes-info-icon:hover{color:rgba(var(--vsg-purple-rgb),.9)}.gm-notes-info-icon svg{width:14px;height:14px}.gm-notes-textarea{width:100%;padding:14px 16px;background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:10px;color:#ffffffe6;font-size:14px;font-family:inherit;line-height:1.7;resize:vertical;min-height:120px;transition:all .3s ease}.gm-notes-textarea::placeholder{color:#ffffff4d;font-style:normal}.gm-notes-textarea:focus{outline:none;border-color:rgba(var(--vsg-purple-rgb),.4);box-shadow:0 0 0 2px rgba(var(--vsg-purple-rgb),.1),0 0 20px rgba(var(--vsg-purple-rgb),.1)}.gm-notes-textarea:read-only{opacity:.6;cursor:default}.gm-notes-hint{font-size:11px;color:#ffffff59;margin:10px 0 0;font-style:normal}.gm-notes-save-row{display:flex;justify-content:flex-end;margin-top:12px}.gm-notes-history-link{display:inline-block;background:transparent;border:none;padding:0;margin-top:8px;color:rgba(var(--vsg-purple-rgb),.85);font-size:12px;text-decoration:underline;cursor:pointer;font-family:inherit}.gm-notes-history-link:hover{color:var(--vsg-purple)}.agent-analysis-layout{display:flex;flex-direction:column;font-family:var(--font-primary)}.agent-analysis-modal{background:#000000f2;border:2px solid var(--vsg-purple);border-radius:12px;width:90%;height:calc(85 * var(--vh-fit));display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3);animation:slideUp .3s ease}.agent-analysis-panel{flex:1;overflow:hidden}.agent-analysis-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.3)}.agent-analysis-title-section{display:flex;align-items:center;gap:16px}.agent-analysis-portrait{width:48px;height:48px;border-radius:50%;border:2px solid var(--vsg-purple);object-fit:cover}.agent-analysis-title-text h2{margin:0;color:#fffffff2;font-size:24px;font-weight:400}.agent-analysis-subtitle{margin:4px 0 0;color:rgba(var(--vsg-purple-rgb),.7);font-size:13px;font-weight:400}.agent-analysis-analyzed-at{font-size:11px;color:#fff6;margin-top:2px}.agent-analysis-header-actions{display:flex;align-items:center;gap:8px}.agent-analysis-body{flex:1;overflow-y:auto;padding:24px;background:linear-gradient(180deg,rgba(var(--vsg-purple-rgb),.02) 0%,transparent 50%)}.agent-analysis-body .story-section,.agent-analysis-body .story-campaign-card,.agent-analysis-body .season-card,.agent-analysis-body .act-item,.agent-analysis-body .character-arc-item{animation:none}.agent-analysis-gm-notes{margin-top:24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.1);padding-top:16px}.agent-analysis-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.15);gap:12px}.agent-analysis-footer-left{display:flex;gap:8px;align-items:center}.agent-analysis-footer-right{display:flex;gap:8px;align-items:center;margin-left:auto}.agent-analysis-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:200px}.agent-analysis-loading-text{color:#fff9;font-size:13px;font-weight:400}.agent-analysis-body::-webkit-scrollbar{width:8px}.agent-analysis-body::-webkit-scrollbar-track{background:#0000004d;border-radius:4px}.agent-analysis-body::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.2);border-radius:4px}.agent-analysis-body::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.3)}:where(.character-card) .characters-tab{width:100%;animation:fadeIn .3s ease}.character-card-background{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1;border-radius:12px;overflow:hidden}.character-card-background img{width:100%;height:100%;object-fit:cover;object-position:top center}.character-placeholder-bg{width:100%;height:100%;background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.2),rgba(var(--vsg-purple-rgb),.13));display:flex;align-items:center;justify-content:center}.character-initials{font-size:72px;color:rgba(var(--vsg-purple-rgb),.4);font-family:var(--font-primary);font-weight:300;letter-spacing:4px;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5);text-transform:none!important}.character-card-content{position:relative;z-index:2;width:100%;flex:1;display:flex;flex-direction:column;min-height:0}.character-level-badge{position:absolute;top:10px;right:10px;background:linear-gradient(135deg,rgba(var(--vsg-gold-rgb),.3),rgba(var(--vsg-caution-rgb),.3));color:var(--vsg-gold);padding:4px 10px;border-radius:20px;font-size:12px;font-family:var(--font-primary);font-weight:400;border:1px solid rgba(var(--vsg-gold-rgb),.5)}.character-card-body{padding:20px;background:linear-gradient(to bottom,#0003,#0006);margin-top:auto;display:flex;flex-direction:column;gap:8px}.character-name-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.character-name-row-spacer{flex:1}.character-hidden-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:20px;font-family:var(--font-primary);font-size:11px;font-weight:400;font-style:normal;text-transform:uppercase;letter-spacing:1px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;color:#ffffff80;border:1px solid rgba(255,255,255,.15);min-width:75px;text-align:center}.character-card-info-button{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:rgba(var(--vsg-purple-rgb),.6);cursor:pointer;padding:0;transition:all .2s ease}.character-card-info-button:hover{color:var(--vsg-purple);transform:scale(1.15)}.character-card-info-button svg{width:18px;height:18px}.character-game-link{display:block;color:#ffffffe6;cursor:pointer;text-decoration:none;font-size:14px;font-style:normal;transition:all .2s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;margin:-4px 0 12px;opacity:.9}.character-game-link:hover{color:var(--vsg-purple);opacity:1}.character-orphan-label{display:block;color:#ffffff80;font-size:12px;text-align:left;margin-bottom:8px}.character-stats{display:flex;align-items:flex-start;gap:20px;padding-top:16px;border-top:1px solid rgba(var(--vsg-purple-rgb),.1)}.character-stats .stat{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:13px;color:#ffffffb3;flex-shrink:0;white-space:nowrap}.character-stats .stat svg:not(.trash-svg){flex-shrink:0;color:rgba(var(--vsg-purple-rgb),.6)}.health-bar{position:relative;width:120px;height:18px;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:10px;overflow:hidden}.health-fill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,var(--vsg-error),var(--vsg-error));transition:width .3s ease}.health-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:10px;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.8);font-weight:400}.character-action-btn{flex:1;padding:6px 12px;background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:var(--vsg-purple);font-family:var(--font-primary);font-size:11px;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .3s ease}.character-action-btn:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.5);transform:translateY(-1px)}.character-action-btn.play{background:rgba(var(--vsg-purple-rgb),.05)}.character-card-herodotus-icon{position:absolute;top:10px;right:10px;z-index:10}.character-transformation-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;align-items:center}.character-transformation-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:10px;background:rgba(var(--vsg-purple-rgb),.15);border:1px solid rgba(var(--vsg-purple-rgb),.3);color:var(--vsg-purple);font-family:var(--font-primary);font-size:11px;font-weight:300;white-space:nowrap}.character-transformation-temporary{display:inline-flex;align-items:center;padding:2px 6px;border-radius:8px;background:rgba(var(--vsg-caution-rgb),.15);border:1px solid rgba(var(--vsg-caution-rgb),.3);color:var(--vsg-caution);font-family:var(--font-primary);font-size:10px;font-weight:300;text-transform:uppercase;letter-spacing:.5px}.grant-slot-card{background:rgba(var(--vsg-purple-rgb),.04);border:1px solid rgba(var(--vsg-purple-rgb),.12);border-radius:10px;padding:16px;margin-bottom:12px;position:relative;transition:border-color .2s ease}.grant-slot-card:hover{border-color:rgba(var(--vsg-purple-rgb),.25)}.grant-slot-card .slot-name-input{font-family:var(--font-primary);font-size:.95rem;font-weight:400;color:var(--vsg-purple);background:transparent;border:none;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);width:100%;outline:none;transition:border-color .2s ease}.grant-slot-card .slot-name-input:focus{border-bottom-color:var(--vsg-purple)}.grant-slot-card .slot-name-input::placeholder{color:rgba(var(--vsg-purple-rgb),.3)}.grant-slot-field{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#00000026;border-radius:6px;border:1px dashed rgba(var(--vsg-purple-rgb),.15);margin-top:12px}.grant-slot-field-label{font-family:var(--font-primary);font-size:.75rem;color:#fff6;text-transform:uppercase;letter-spacing:.5px;min-width:40px}.grant-slot-field-value{flex:1;font-family:var(--font-primary);font-size:.85rem;color:#fffc}.grant-slot-field-value.not-linked{color:#ffffff4d}.grant-slot-card .slot-delete-wrapper{position:absolute;top:8px;right:8px}.progression-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10100}.progression-modal{background:#000000f2;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;width:90%;max-width:720px;max-height:calc(80 * var(--vh-fit));display:flex;flex-direction:column;box-shadow:0 8px 32px #0009,0 0 60px rgba(var(--vsg-purple-rgb),.1)}.progression-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15)}.progression-modal-header h2{margin:0;font-size:1.1rem;font-family:var(--font-primary);color:#ffffffe6;letter-spacing:.5px}.progression-modal-close{background:none;border:none;color:rgba(var(--vsg-purple-rgb),.6);font-size:1.5rem;cursor:pointer;padding:0 4px;line-height:1;transition:color .2s}.progression-modal-close:hover{color:var(--vsg-purple)}.progression-modal-body{padding:12px 20px 20px;overflow-y:auto;flex:1}.progression-loading,.progression-empty{display:flex;align-items:center;justify-content:center;min-height:120px;color:#ffffff80;font-family:var(--font-primary)}.progression-list-header{display:grid;grid-template-columns:100px 1fr 70px 120px 1fr;gap:8px;padding:8px 10px;font-size:.72rem;font-weight:400;text-transform:uppercase;letter-spacing:.08em;color:rgba(var(--vsg-purple-rgb),.6);border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15);font-family:var(--font-primary)}.progression-row{display:grid;grid-template-columns:100px 1fr 70px 120px 1fr;gap:8px;padding:8px 10px;font-size:.82rem;color:#ffffffe6;font-family:var(--font-primary);transition:background .15s}.progression-row.odd{background:rgba(var(--vsg-purple-rgb),.03)}.progression-row:hover{background:rgba(var(--vsg-purple-rgb),.08)}.progression-col-date{white-space:nowrap;font-size:.78rem;color:#ffffff80}.progression-col-pool{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progression-col-amount{font-weight:400;text-align:right}.progression-col-amount.positive{color:var(--vsg-success)}.progression-col-amount.negative{color:var(--vsg-error)}.progression-col-grantor{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#ffffffb3}.progression-col-note{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;color:#fff6;font-style:normal}.sheet-card{width:100%;background:#000c;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;overflow:visible;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;min-height:400px;display:flex;flex-direction:column;cursor:pointer}.sheet-card:hover{transform:translateY(-5px);border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 10px 30px rgba(var(--vsg-purple-rgb),.2)}.sheet-card-background{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1;border-radius:12px;overflow:hidden}.sheet-card-background img{width:100%;height:100%;object-fit:cover;object-position:top center}.sheet-card-content{position:relative;z-index:2;width:100%;flex:1;display:flex;flex-direction:column;min-height:0}.sheet-card-body{width:100%;padding:20px;background:linear-gradient(to bottom,#0003,#0006);margin-top:auto;position:relative;z-index:2;box-sizing:border-box}.sheet-initials{font-size:72px;color:rgba(var(--vsg-purple-rgb),.4);font-family:var(--font-primary);font-weight:300;letter-spacing:4px;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5);text-transform:none!important}.permission-button{position:absolute;padding:4px 8px;border-radius:20px;font-size:11px;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:1px;font-weight:400;border:none;cursor:pointer;transition:all .3s ease;z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:75px;text-align:center}.permission-button:hover{transform:scale(1.05);box-shadow:0 4px 15px #0000004d}.permission-button.clone{top:10px;left:50%;transform:translate(-50%)}.permission-button.clone:hover{transform:translate(-50%) scale(1.05)}.permission-button.edit{top:10px;right:10px}.permission-button.clonable,.permission-button.editable{background:rgba(var(--vsg-success-rgb),.2);color:var(--vsg-success);border:1px solid rgba(var(--vsg-success-rgb),.3)}.permission-button.non-clonable,.permission-button.fixed{background:rgba(var(--vsg-error-rgb),.2);color:var(--vsg-error);border:1px solid rgba(var(--vsg-error-rgb),.3)}.sheet-card .role-badge{position:absolute;top:10px;left:10px;padding:4px 12px;border-radius:20px;font-size:11px;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:1px;font-weight:400;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;transition:all .3s ease}.sheet-card .role-badge.creator{background:rgba(var(--vsg-success-rgb),.2);color:var(--vsg-success);border:1px solid rgba(var(--vsg-success-rgb),.3);box-shadow:0 2px 10px rgba(var(--vsg-success-rgb),.3)}.sheet-card .role-badge.creator.clickable{cursor:pointer;transition:all .3s ease}.sheet-card .role-badge.creator.clickable:hover{background:rgba(var(--vsg-success-rgb),.4);transform:scale(1.05);box-shadow:0 4px 15px rgba(var(--vsg-success-rgb),.5)}.sheet-name-row{display:flex;align-items:center;gap:8px;margin-bottom:8px;pointer-events:auto;position:relative;z-index:10;width:100%}.sheet-name-row-spacer{flex:1}.sheet-use-badge{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:4px 8px;border-radius:20px;font-family:var(--font-primary);font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:1px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;min-width:75px;text-align:center;flex-shrink:0;margin-right:-10px}.use-badge-label{line-height:1}.use-badge-open{background:rgba(var(--vsg-success-rgb),.2);color:var(--vsg-success);border:1px solid rgba(var(--vsg-success-rgb),.3)}.use-badge-restricted{background:rgba(var(--vsg-error-rgb),.2);color:var(--vsg-error);border:1px solid rgba(var(--vsg-error-rgb),.3)}.sheet-title{margin:0;font-family:var(--font-primary);font-size:20px;font-weight:400;color:#fffffff2;letter-spacing:.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:250px;min-width:0}.sheet-restrictions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.restriction-tag{display:inline-flex;align-items:center;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:400;letter-spacing:.3px;font-family:inherit;cursor:default}.restriction-tag.clickable{cursor:pointer;transition:all .2s ease}.restriction-tag.system{background:rgba(var(--vsg-purple-rgb),.2);border:1px solid rgba(var(--vsg-purple-rgb),.4);color:rgba(var(--vsg-purple-rgb),.95)}.restriction-tag.system.clickable:hover{background:rgba(var(--vsg-purple-rgb),.35);border-color:rgba(var(--vsg-purple-rgb),.6);transform:translateY(-1px)}.restriction-tag.world{background:rgba(var(--vsg-info-rgb),.2);border:1px solid rgba(var(--vsg-info-rgb),.4);color:rgba(var(--vsg-info-rgb),.95)}.restriction-tag.world.clickable:hover{background:rgba(var(--vsg-info-rgb),.35);border-color:rgba(var(--vsg-info-rgb),.6);transform:translateY(-1px)}.restriction-tag.game{background:rgba(var(--vsg-success-rgb),.2);border:1px solid rgba(var(--vsg-success-rgb),.4);color:rgba(var(--vsg-success-rgb),.95)}.restriction-tag.game.clickable:hover{background:rgba(var(--vsg-success-rgb),.35);border-color:rgba(var(--vsg-success-rgb),.6);transform:translateY(-1px)}.sheet-card-info-button{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:rgba(var(--vsg-purple-rgb),.6);cursor:pointer;padding:0;transition:all .2s ease}.sheet-card-info-button:hover{color:var(--vsg-purple);transform:scale(1.15)}.sheet-card-info-button svg{width:18px;height:18px}.sheet-stats{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:0;padding-top:16px;border-top:1px solid rgba(var(--vsg-purple-rgb),.1)}.sheet-stats .stat{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:13px;color:#ffffffb3;flex-shrink:0;white-space:nowrap}.sheet-stats .stat svg:not(.trash-svg){flex-shrink:0;color:rgba(var(--vsg-purple-rgb),.6)}.sheet-stats .stat.stat-multiline{flex-direction:row;align-items:flex-start;flex:1;min-width:0}.sheet-stats .stat-content{display:flex;flex-direction:column;gap:2px}.sheet-stats .stat-line-2{font-size:13px}.sheet-stats .stat-count-green{color:var(--vsg-success)!important;font-size:13px;font-weight:400}.sheet-stats .stat-count-yellow{color:var(--vsg-gold)!important;font-size:13px;font-weight:400}.sheet-stats .stat-count-red{color:var(--vsg-error)!important;font-size:13px;font-weight:400}@media (max-width: 600px){.sheet-card{padding:2.5rem 1rem 1rem}.sheet-title{font-size:1.2rem}}.image-cropper-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10000;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease}.image-cropper-modal{background:linear-gradient(135deg,rgba(var(--vsg-surface-rgb),.98),rgba(var(--vsg-surface-rgb),.98));border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:16px;padding:24px;max-width:calc(90 * var(--vw-fit));max-height:calc(90 * var(--vh-fit));display:flex;flex-direction:column;gap:20px;box-shadow:0 20px 60px rgba(var(--vsg-purple-rgb),.3)}.cropper-header{text-align:center}.cropper-header h3{color:var(--vsg-purple);font-family:var(--font-primary);font-size:22px;font-weight:400;margin:0 0 8px;letter-spacing:.5px;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.3)}.cropper-header p{color:rgba(var(--vsg-purple-rgb),.7);font-size:14px;margin:0}.cropper-main{display:flex;align-items:center;gap:30px;width:100%}.cropper-controls-left{display:flex;flex-direction:column;gap:16px}.cropper-container{display:flex;flex-direction:column;gap:16px;align-items:center;flex:0 0 auto}.cropper-controls-right{display:flex;flex-direction:column;gap:12px}.cropper-frame{width:480px;aspect-ratio:320 / 400;max-width:calc(90 * var(--vw-fit));background:#000;border:2px solid rgba(var(--vsg-purple-rgb),.5);border-radius:8px;overflow:hidden;position:relative;-webkit-user-select:none;user-select:none}.cropper-image{position:absolute;top:0;left:0;transform-origin:top left;transition:transform .1s ease;max-width:none;pointer-events:none}.cropper-frame-overlay{position:absolute;top:0;left:0;right:0;bottom:0;border:2px solid rgba(var(--vsg-purple-rgb),.5);pointer-events:none;z-index:1;box-shadow:inset 0 0 30px rgba(var(--vsg-purple-rgb),.1)}.zoom-controls{display:flex;flex-direction:column;align-items:center;gap:8px;background:#00000080;padding:12px;border-radius:8px;border:1px solid rgba(var(--vsg-purple-rgb),.2)}.zoom-btn{min-width:50px;height:32px;border-radius:8px;border:1px solid rgba(var(--vsg-purple-rgb),.3);background:rgba(var(--vsg-purple-rgb),.1);color:var(--vsg-purple);font-size:13px;font-weight:400;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;padding:0 8px}.zoom-btn:hover{background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.5);transform:scale(1.1)}.zoom-input-wrapper{display:flex;align-items:center;background:#000000b3;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;overflow:hidden}.zoom-input{width:50px;height:30px;background:transparent;border:none;color:var(--vsg-purple);font-size:14px;font-weight:400;text-align:center;padding:0 4px;outline:none}.zoom-input-wrapper:focus-within{border-color:rgba(var(--vsg-purple-rgb),.5);background:rgba(var(--vsg-purple-rgb),.05)}.zoom-input::-webkit-inner-spin-button,.zoom-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.zoom-percent{color:var(--vsg-purple);font-size:14px;font-weight:400;padding-right:8px;opacity:.7}.cropper-uploading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:100;border-radius:16px}.cropper-uploading-message{display:flex;flex-direction:column;align-items:center;gap:16px}.cropper-uploading-message p{color:var(--vsg-purple);font-size:16px;font-weight:400;margin:0;text-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.5)}@media (pointer: coarse){.cropper-frame{touch-action:none}.zoom-btn{width:40px;height:40px;font-size:24px}}.users-list-modal{background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:16px;width:90%;max-width:600px;max-height:calc(80 * var(--vh-fit));display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080,0 0 100px rgba(var(--vsg-purple-rgb),.2);animation:slideUp .3s ease}:where(.users-list-modal) .modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:.25px solid rgba(var(--vsg-purple-rgb),.2)}:where(.users-list-modal) .modal-title{font-family:var(--font-primary);color:var(--vsg-purple);font-size:24px;font-weight:300;letter-spacing:1px;margin:0}:where(.users-list-modal) .modal-content{flex:1;overflow-y:auto;padding:24px 0;width:auto!important;max-width:none!important}:where(.users-list-modal) .modal-content::-webkit-scrollbar{width:8px}:where(.users-list-modal) .modal-content::-webkit-scrollbar-track{background:#0000004d;border-radius:4px}:where(.users-list-modal) .modal-content::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.3);border-radius:4px}:where(.users-list-modal) .modal-content::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.5)}.users-list{display:flex;flex-direction:column;gap:12px;padding:0 24px;width:100%!important;max-width:none!important}:where(.users-list-modal) .user-item:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.4);transform:translate(4px)}.user-number{font-family:var(--font-primary);color:rgba(var(--vsg-purple-rgb),.6);font-size:16px;font-weight:400;min-width:32px;text-align:right}.user-avatar-component{flex-shrink:0}.user-info-component{flex:1}:where(.users-list-modal) .modal-footer{display:flex;justify-content:flex-end;padding:24px;border-top:.25px solid rgba(var(--vsg-purple-rgb),.2)}.analytics-view{display:flex;flex-direction:column;gap:20px;padding:10px 0}.analytics-loading,.analytics-error{text-align:center;padding:40px;color:#ffffff80;font-family:var(--font-primary);font-size:14px}.analytics-cards{display:flex;gap:16px}.analytics-card{flex:1;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;padding:20px;text-align:center}.analytics-card-value{font-family:var(--font-primary);font-size:1.8rem;font-weight:400;color:#fff;margin-bottom:4px}.analytics-card-label{font-family:var(--font-primary);font-size:.75rem;font-weight:400;color:#ffffff80;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.analytics-card-breakdown{display:flex;justify-content:center;gap:12px;font-family:var(--font-primary);font-size:.75rem;color:#fff6}.breakdown-desktop{color:rgba(var(--vsg-purple-rgb),.7)}.breakdown-web{color:rgba(var(--vsg-success-rgb),.7)}.analytics-chart-section{background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.1);border-radius:12px;padding:16px 20px}.analytics-chart-title{font-family:var(--font-primary);font-size:.8rem;color:#fff6;text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}.analytics-chart{display:flex;align-items:flex-end;height:100px;gap:2px}.analytics-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;position:relative}.analytics-bar-stack{width:100%;display:flex;flex-direction:column-reverse;border-radius:2px 2px 0 0;overflow:hidden;min-height:2px}.analytics-bar.desktop{background:var(--vsg-purple)}.analytics-bar.web{background:var(--vsg-success)}.analytics-bar-label{font-family:var(--font-primary);font-size:9px;color:#ffffff4d;margin-top:4px;white-space:nowrap}.analytics-filter-row{display:flex;justify-content:center}.analytics-table-container{overflow-x:auto}.analytics-table{width:100%;border-collapse:collapse;font-family:var(--font-primary);font-size:13px}.analytics-table th{text-align:left;padding:8px 12px;color:rgba(var(--vsg-purple-rgb),.7);font-weight:400;font-size:12px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15);white-space:nowrap}.analytics-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.analytics-table th.sortable:hover{color:var(--vsg-purple)}.analytics-table td{padding:8px 12px;color:#ffffffb3;border-bottom:1px solid rgba(255,255,255,.05)}.analytics-table tr.online td{color:#ffffffe6}.analytics-table .username-cell{color:#ffffffe6;font-weight:400}.analytics-table .platform-cell{font-size:12px}.analytics-table .platform-cell.desktop{color:rgba(var(--vsg-purple-rgb),.7)}.analytics-table .platform-cell.web{color:rgba(var(--vsg-success-rgb),.7)}.analytics-table .platform-cell.desktop-web{color:#fff}.analytics-table .claude-cell{font-size:12px;color:#ffffff80}.sub-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.5px}.sub-badge.epic{background:rgba(var(--vsg-success-rgb),.15);color:var(--vsg-success)}.sub-badge.free{background:#ffffff1a;color:#ffffff80}@media (max-width: 600px){.analytics-cards{flex-wrap:wrap}.analytics-card{min-width:140px}}.users-check-modal{background:transparent;border:2px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;max-width:1200px;width:95%;max-height:calc(80 * var(--vh-fit));display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3)}.users-check-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.users-check-modal .modal-header h2{font-family:var(--font-primary);font-size:1.5rem;color:var(--vsg-purple);margin:0}.users-check-modal .close-button{background:none;border:none;color:rgba(var(--vsg-purple-rgb),.7);font-size:2rem;cursor:pointer;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:all .2s}.users-check-modal .close-button:hover{color:var(--vsg-purple);transform:scale(1.1)}.users-check-modal .modal-body{padding:20px 24px;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.users-check-modal .search-bar{margin-bottom:20px;display:flex;gap:12px;align-items:center}.users-check-modal .search-input{flex:1;padding:10px 16px;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:#fff;font-family:Lato,sans-serif;font-size:.95rem;transition:all .2s}.users-check-modal .bulk-actions{display:flex;gap:8px}.users-check-modal .toggle-premium-btn,.users-check-modal .delete-selected-btn{padding:8px 16px;border-radius:6px;font-family:Lato,sans-serif;font-size:.85rem;font-weight:400;cursor:pointer;transition:all .2s;white-space:nowrap;border:none}.users-check-modal .toggle-premium-btn{background:rgba(var(--vsg-purple-rgb),.2);color:var(--vsg-purple);border:1px solid rgba(var(--vsg-purple-rgb),.4)}.users-check-modal .toggle-premium-btn:hover{background:rgba(var(--vsg-purple-rgb),.3);border-color:rgba(var(--vsg-purple-rgb),.6)}.users-check-modal .delete-selected-btn{background:rgba(var(--vsg-error-rgb),.2);color:var(--vsg-error);border:1px solid rgba(var(--vsg-error-rgb),.4)}.users-check-modal .delete-selected-btn:hover{background:rgba(var(--vsg-error-rgb),.3);border-color:rgba(var(--vsg-error-rgb),.6)}.users-check-modal .search-input:focus{outline:none;border-color:rgba(var(--vsg-purple-rgb),.6);background:rgba(var(--vsg-purple-rgb),.15)}.users-check-modal .search-input::placeholder{color:#fff6}.users-check-modal .loading-message,.users-check-modal .error-message{text-align:center;padding:40px;font-family:Lato,sans-serif}.users-check-modal .loading-message{color:rgba(var(--vsg-purple-rgb),.7)}.users-check-modal .error-message{color:var(--vsg-error)}.users-check-modal .users-table-container,.users-check-modal .analytics-view{flex:1;min-height:0;overflow:auto}.users-check-modal .users-table{width:100%;border-collapse:collapse;font-family:Lato,sans-serif;font-size:.9rem}.users-check-modal .users-table thead{border-bottom:none}.users-check-modal .users-table th{padding:12px 16px;text-align:left;color:var(--vsg-purple);font-family:var(--font-primary);font-weight:400;white-space:nowrap;position:sticky;top:0;z-index:2;background:var(--vsg-surface);box-shadow:inset 0 -2px rgba(var(--vsg-purple-rgb),.3)}.users-check-modal .users-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s}.users-check-modal .users-table th.sortable:hover{color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.1)}.users-check-modal .users-table th .sort-indicator{font-size:.8em;opacity:.8}.users-check-modal .users-table tbody tr{border-bottom:1px solid rgba(var(--vsg-purple-rgb),.1);transition:background .2s}.users-check-modal .users-table tbody tr:hover{background:rgba(var(--vsg-purple-rgb),.05)}.users-check-modal .users-table td{padding:12px 16px;color:#ffffffd9}.users-check-modal .premium-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.8rem;font-weight:400}.users-check-modal .premium-badge.premium-yes{background:rgba(var(--vsg-success-rgb),.17);color:rgba(var(--vsg-success-rgb),.84);border:1px solid rgba(var(--vsg-success-rgb),.33)}.users-check-modal .premium-badge.premium-no{background:rgba(var(--vsg-error-rgb),.2);color:var(--vsg-error);border:1px solid rgba(var(--vsg-error-rgb),.4)}.users-check-modal .clickable-badge{cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s}.users-check-modal .clickable-badge:hover{transform:scale(1.05);filter:brightness(1.2);box-shadow:0 2px 8px #0000004d}.users-check-modal .clickable-badge:active{transform:scale(.95)}.users-check-modal .checkbox-column{width:40px;text-align:center}.users-check-modal .users-table{table-layout:fixed}.users-check-modal .users-table th:nth-child(2),.users-check-modal .users-table td:nth-child(2){width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.users-check-modal .users-table th:nth-child(3),.users-check-modal .users-table td:nth-child(3){width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.users-check-modal .users-table th:nth-child(4),.users-check-modal .users-table td:nth-child(4){width:110px}.users-check-modal .users-table th:nth-child(5),.users-check-modal .users-table td:nth-child(5){width:60px;text-align:center}.users-check-modal .users-table th:nth-child(6),.users-check-modal .users-table td:nth-child(6){width:70px;text-align:center}.users-check-modal .users-table th:nth-child(7),.users-check-modal .users-table td:nth-child(7){width:95px;white-space:nowrap}.users-check-modal .users-table th:nth-child(8),.users-check-modal .users-table td:nth-child(8){width:95px;white-space:nowrap}.users-check-modal .checkbox-column input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:var(--vsg-purple)}.users-check-modal th.actions-column,.users-check-modal td.actions-column{width:60px;text-align:center}.users-check-modal .delete-user-btn{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:4px 8px;transition:all .2s;border-radius:4px}.users-check-modal .delete-user-btn:hover{background:rgba(var(--vsg-error-rgb),.2);transform:scale(1.1)}.users-check-modal .delete-user-btn:active{transform:scale(.95)}.users-check-modal .selected-row{background:rgba(var(--vsg-purple-rgb),.08)}.users-check-modal .selected-row:hover{background:rgba(var(--vsg-purple-rgb),.12)!important}.users-check-modal .no-results{text-align:center;padding:40px;color:#ffffff80;font-family:Lato,sans-serif}.users-check-modal .modal-footer{padding:16px 24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.2);display:flex;justify-content:center}.users-check-modal .user-count{color:rgba(var(--vsg-purple-rgb),.7);font-family:var(--font-primary);font-size:.9rem}.users-check-modal .ban-status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.8rem;font-weight:400}.users-check-modal .ban-status-none{background:#ffffff14;color:#ffffff87;border:1px solid rgba(255,255,255,.16)}.users-check-modal .ban-status-temporary{background:rgba(var(--vsg-magenta-rgb),.2);color:var(--vsg-magenta);border:1px solid rgba(var(--vsg-magenta-rgb),.4)}.users-check-modal .ban-status-permanent{background:rgba(var(--vsg-error-rgb),.2);color:var(--vsg-error);border:1px solid rgba(var(--vsg-error-rgb),.4)}.users-check-modal .ban-until-cell{color:#fff9;font-size:.85rem}.users-check-modal .heal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.users-check-modal .heal-loading-text{color:rgba(var(--vsg-purple-rgb),.7);font-family:var(--font-primary);font-size:.95rem;font-weight:400;margin:0}.users-check-modal .heal-status-bar{padding:6px 12px;border-radius:6px;font-size:.8rem;font-weight:400;margin-bottom:12px;text-align:center}.users-check-modal .heal-status-bar.healing{background:rgba(var(--vsg-purple-rgb),.1);color:rgba(var(--vsg-purple-rgb),.7);border:1px solid rgba(var(--vsg-purple-rgb),.2)}.users-check-modal .heal-status-bar.healed{background:rgba(var(--vsg-purple-rgb),.1);color:var(--vsg-purple);border:1px solid rgba(var(--vsg-purple-rgb),.3)}.users-check-modal .heal-status-bar.healthy{background:#0003;color:#fff6;border:1px solid rgba(var(--vsg-purple-rgb),.1)}.users-check-modal .heal-status-bar.error{background:rgba(var(--vsg-magenta-rgb),.1);color:var(--vsg-magenta);border:1px solid rgba(var(--vsg-magenta-rgb),.3)}.users-check-modal .truncated-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.gm-rank-modal{background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:16px;width:90%;max-width:600px;max-height:calc(80 * var(--vh-fit));display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080,0 0 100px rgba(var(--vsg-purple-rgb),.2);animation:slideUp .3s ease}.gm-rank-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:.25px solid rgba(var(--vsg-purple-rgb),.2)}.gm-rank-modal .modal-title{font-family:var(--font-primary);color:var(--vsg-purple);font-size:24px;font-weight:300;letter-spacing:1px;margin:0}.gm-rank-modal .modal-content{flex:1;overflow-y:auto;padding:12px 24px 24px}.gm-rank-modal .modal-content::-webkit-scrollbar{width:8px}.gm-rank-modal .modal-content::-webkit-scrollbar-track{background:#0000004d;border-radius:4px}.gm-rank-modal .modal-content::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.3);border-radius:4px}.gm-rank-modal .modal-content::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.5)}.ranks-list{display:flex;flex-direction:column;gap:8px}.rank-item{display:flex;align-items:center;gap:16px;padding:10px 16px;background:rgba(var(--vsg-purple-rgb),.05);border:.25px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;transition:all .2s ease}.rank-item:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.4);transform:translate(4px)}.rank-item.user-rank{background:rgba(var(--vsg-purple-rgb),.15);border:.25px solid rgba(var(--vsg-purple-rgb),.5);box-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.3)}.rank-number{font-family:var(--font-primary);color:rgba(var(--vsg-purple-rgb),.6);font-size:16px;font-weight:400;min-width:32px;text-align:right}.rank-info{flex:1}.rank-name{font-family:var(--font-primary);font-size:16px;font-weight:400;color:#fff;letter-spacing:.5px}.rank-item.user-rank .rank-name{color:var(--vsg-purple)}.rank-description{font-size:13px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.7)}.rank-badge{padding:4px 12px;background:linear-gradient(135deg,var(--vsg-purple) 0%,rgba(var(--vsg-purple-rgb),.8) 100%);border-radius:12px;font-size:11px;font-weight:400;color:#fff;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 8px rgba(var(--vsg-purple-rgb),.4)}@media (max-width: 600px){.gm-rank-modal{width:95%;padding:16px}.gm-rank-modal .modal-title{font-size:20px}.rank-item{padding:12px;gap:12px}.rank-number{font-size:16px;min-width:24px}.rank-name{font-size:16px}.rank-description{font-size:12px}.rank-badge{font-size:10px;padding:3px 8px}}.gm-rank-badge{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:4px 12px;border-radius:12px;border:1px solid;font-weight:400;transition:all .3s ease;white-space:nowrap}.gm-rank-badge--small{font-size:11px;padding:2px 8px;gap:4px;border-radius:8px}.gm-rank-badge--medium{font-size:13px;padding:4px 12px;gap:6px;border-radius:12px}.gm-rank-badge--large{font-size:15px;padding:6px 16px;gap:8px;border-radius:14px}.gm-rank-badge__icon{font-size:1.1em;line-height:1}.gm-rank-badge__text{font-weight:400}.gm-rank-badge__percentile{opacity:.7;font-size:.9em;font-weight:400}.gm-rank-badge:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0003}.gm-leaderboard-modal{background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:16px;width:90%;max-width:700px;height:600px;max-height:calc(80 * var(--vh-fit));display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080,0 0 100px rgba(var(--vsg-purple-rgb),.2);animation:slideUp .3s ease}.gm-leaderboard-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:.25px solid rgba(var(--vsg-purple-rgb),.2)}.gm-leaderboard-modal .modal-title{font-family:var(--font-primary);color:var(--vsg-purple);font-size:24px;font-weight:300;letter-spacing:1px;margin:0}.view-toggle-container{display:flex;justify-content:center;padding:16px 24px;border-bottom:.25px solid rgba(var(--vsg-purple-rgb),.2)}.pagination-controls{display:flex;align-items:center;justify-content:center;gap:16px;padding:16px 24px;border-top:.25px solid rgba(var(--vsg-purple-rgb),.2)}.page-indicator{font-family:var(--font-primary);color:rgba(var(--vsg-purple-rgb),.8);font-size:14px;font-weight:400;letter-spacing:.3px}.gm-leaderboard-modal .modal-content{flex:1;overflow-y:auto;padding:24px;width:auto!important;max-width:none!important}.gm-leaderboard-modal .modal-content::-webkit-scrollbar{width:8px}.gm-leaderboard-modal .modal-content::-webkit-scrollbar-track{background:#0000004d;border-radius:4px}.gm-leaderboard-modal .modal-content::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.3);border-radius:4px}.gm-leaderboard-modal .modal-content::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.5)}:where(.gm-leaderboard-modal) .empty-message{text-align:center;font-family:var(--font-primary)}.gm-leaderboard-modal .leaderboard-list{display:flex;flex-direction:column;gap:12px;width:100%!important;max-width:none!important}.gm-leaderboard-modal .leaderboard-item{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;padding:16px 16px 16px 4px!important;background:rgba(var(--vsg-purple-rgb),.05);border:.25px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;transition:all .2s ease;position:relative;width:100%!important;max-width:none!important;box-sizing:border-box}.gm-leaderboard-modal .leaderboard-item:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.4);transform:translate(4px)}.gm-leaderboard-modal .leaderboard-item.current-user{background:rgba(var(--vsg-purple-rgb),.15);border:.25px solid rgba(var(--vsg-purple-rgb),.5);box-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.3)}.rank-position{font-family:var(--font-primary);color:rgba(var(--vsg-purple-rgb),.6);font-size:16px;font-weight:400;min-width:32px;text-align:right}.leaderboard-avatar{flex-shrink:0}.gm-leaderboard-modal .leaderboard-user-info{flex:1;min-width:0}:where(.gm-leaderboard-modal) .gm-rank-badge{display:flex;align-items:center;justify-content:center;padding:6px 14px;background:rgba(var(--vsg-purple-rgb),.1);border-radius:8px;border:.25px solid rgba(var(--vsg-purple-rgb),.25);flex-shrink:0;position:absolute;left:50%;transform:translate(-50%)}.rank-value{font-family:var(--font-primary);color:rgba(var(--vsg-purple-rgb),.9);font-size:18px;font-weight:400;letter-spacing:.5px;text-transform:capitalize}.gm-score-badge{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 16px;background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.2),rgba(var(--vsg-purple-rgb),.1));border-radius:10px;border:.25px solid rgba(var(--vsg-purple-rgb),.3);margin-left:auto!important}.score-value{font-family:var(--font-primary);color:var(--vsg-purple);font-size:20px;font-weight:400;letter-spacing:.5px}.score-label{font-family:var(--font-primary);color:rgba(var(--vsg-purple-rgb),.6);font-size:11px;text-transform:uppercase;letter-spacing:1px}.gm-leaderboard-modal .modal-footer{display:flex;justify-content:center;padding:24px;border-top:.25px solid rgba(var(--vsg-purple-rgb),.2)}@media (max-width: 600px){.gm-leaderboard-modal{width:95%;max-width:none}.gm-leaderboard-modal .leaderboard-item{padding:12px 12px 12px 4px!important;gap:10px!important}.rank-position{font-size:14px;min-width:24px}:where(.gm-leaderboard-modal) .gm-rank-badge{padding:5px 10px}.rank-value{font-size:12px}.gm-score-badge{padding:6px 12px}.score-value{font-size:18px}.score-label{font-size:10px}}.tool-proposal-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.tool-proposal-modal{background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:16px;max-width:900px;width:100%;max-height:calc(85 * var(--vh-fit));display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px rgba(var(--vsg-purple-rgb),.3)}.tool-proposal-modal-header{padding:24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);display:flex;align-items:center;justify-content:space-between}.tool-proposal-message{padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:14px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.tool-proposal-message--error{background:rgba(var(--vsg-error-rgb),.1);color:var(--vsg-error);border-color:rgba(var(--vsg-error-rgb),.3)}.tool-proposal-message--success{background:rgba(var(--vsg-success-rgb),.07);color:rgba(var(--vsg-success-rgb),.69);border-color:rgba(var(--vsg-success-rgb),.21)}.tool-proposal-message-close{width:24px;height:24px;border:none;background:transparent;color:currentColor;font-size:24px;line-height:1;cursor:pointer;opacity:.7;transition:opacity .2s ease}.tool-proposal-message-close:hover{opacity:1}.tool-proposal-modal-title{margin:0;font-size:24px;font-weight:400;font-family:var(--font-primary);color:rgba(var(--vsg-purple-rgb),.95);letter-spacing:.5px}.tool-proposal-modal-close{width:36px;height:36px;border:none;background:#ffffff0d;color:#ffffffb3;font-size:28px;line-height:1;border-radius:8px;cursor:pointer;transition:all .2s ease}.tool-proposal-modal-close:hover{background:rgba(var(--vsg-purple-rgb),.2);color:#fff}.tool-proposal-modal-content{flex:1;overflow-y:auto;padding:24px}.tool-proposal-actions{margin-bottom:24px}.tool-proposal-loading,.tool-proposal-empty{text-align:center;padding:60px 20px;color:#ffffff80;font-size:16px}.tool-proposal-list{display:flex;flex-direction:column;gap:16px}.tool-proposal-item{display:flex;gap:16px;padding:20px;background:#ffffff08;border:1px solid rgba(var(--vsg-purple-rgb),.1);border-radius:12px;transition:all .2s ease}.tool-proposal-item:hover{background:#ffffff0d;border-color:rgba(var(--vsg-purple-rgb),.3)}.tool-proposal-votes{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:50px}.vote-button{width:36px;height:36px;border:1px solid rgba(var(--vsg-purple-rgb),.3);background:#00000080;color:#ffffff80;font-size:16px;border-radius:6px;cursor:pointer;transition:all .2s ease}.vote-button:hover{background:rgba(var(--vsg-purple-rgb),.1);color:#fff}.vote-button.active.vote-up{background:rgba(var(--vsg-success-rgb),.14);border-color:rgba(var(--vsg-success-rgb),.34);color:rgba(var(--vsg-success-rgb),.69)}.vote-button.active.vote-down{background:rgba(var(--vsg-error-rgb),.2);border-color:rgba(var(--vsg-error-rgb),.5);color:var(--vsg-error)}.vote-count{font-size:18px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.9)}.tool-proposal-content{flex:1;cursor:pointer}.tool-proposal-item-title{margin:0 0 8px;font-size:18px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.95)}.tool-proposal-item-description{margin:0 0 12px;font-size:14px;line-height:1.6;color:#ffffffb3}.tool-proposal-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:12px;color:#ffffff80}.tool-proposal-status{padding:2px 8px;border-radius:4px;font-weight:400;text-transform:uppercase;letter-spacing:.5px}.status-pending{background:rgba(var(--vsg-gold-rgb),.2);color:var(--vsg-gold)}.status-approved{background:rgba(var(--vsg-success-rgb),.14);color:rgba(var(--vsg-success-rgb),.69)}.status-implemented{background:rgba(var(--vsg-info-rgb),.2);color:var(--vsg-info)}.status-rejected{background:rgba(var(--vsg-error-rgb),.2);color:var(--vsg-error)}.tool-proposal-form{max-width:600px}:where(.tool-proposal-modal-overlay) .form-group label{display:block;font-weight:400}:where(.tool-proposal-modal-overlay) .form-group textarea{width:100%;padding:12px;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:#fff;font-size:14px;font-family:inherit;resize:vertical}:where(.tool-proposal-modal-overlay) .form-group input:focus,:where(.tool-proposal-modal-overlay) .form-group textarea:focus{outline:none}:where(.tool-proposal-modal) .form-actions{display:flex;gap:12px;justify-content:flex-end}.tool-proposal-detail-header{margin-bottom:24px}.tool-proposal-detail-content{display:flex;gap:24px}.tool-proposal-detail-votes{display:flex;flex-direction:column;align-items:center;gap:8px}.vote-button-large{width:48px;height:48px;border:1px solid rgba(var(--vsg-purple-rgb),.3);background:#00000080;color:#ffffff80;font-size:20px;border-radius:8px;cursor:pointer;transition:all .2s ease}.vote-button-large:hover{background:rgba(var(--vsg-purple-rgb),.1);color:#fff}.vote-button-large.active.vote-up{background:rgba(var(--vsg-success-rgb),.14);border-color:rgba(var(--vsg-success-rgb),.34);color:rgba(var(--vsg-success-rgb),.69)}.vote-button-large.active.vote-down{background:rgba(var(--vsg-error-rgb),.2);border-color:rgba(var(--vsg-error-rgb),.5);color:var(--vsg-error)}.vote-count-large{font-size:24px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.9)}.tool-proposal-detail-body{flex:1}.tool-proposal-detail-description{font-size:16px;line-height:1.7;color:#fffc;margin-bottom:24px}.tool-proposal-detail-meta{display:flex;gap:16px;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.1);font-size:13px;color:#ffffff80}.tool-proposal-comments h4{margin:0 0 16px;font-size:18px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.95)}.comment-form{margin-bottom:24px;display:flex;flex-direction:column;gap:12px}.comment-form textarea{width:100%;padding:12px;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:#fff;font-size:14px;font-family:inherit;resize:vertical}.comment-form textarea:focus{outline:none;border-color:rgba(var(--vsg-purple-rgb),.6)}.no-comments{text-align:center;padding:40px;color:#fff6;font-style:normal}.comments-list{display:flex;flex-direction:column;gap:16px}.comment-item{padding:16px;background:#ffffff08;border:1px solid rgba(var(--vsg-purple-rgb),.1);border-radius:8px}.comment-author{font-weight:400;margin-bottom:8px}.comment-content{color:#fffc;line-height:1.6;margin-bottom:8px}.comment-date{font-size:12px;color:#fff6}@media (max-width: 600px){.tool-proposal-modal{max-width:100%;max-height:calc(100 * var(--vh-fit));border-radius:0}.tool-proposal-detail-content{flex-direction:column}.tool-proposal-detail-votes{flex-direction:row}.tool-proposal-meta{font-size:11px}}.lookup-result-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;margin:1rem 0;box-shadow:0 2px 4px #0000001a}.lookup-result-card.compact{padding:1rem;font-size:.9rem}.lookup-result-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid var(--border-color)}.lookup-result-icon{font-size:2rem;flex-shrink:0}.lookup-result-title{flex:1}.lookup-result-title h3{margin:0 0 .25rem;color:var(--text-primary);font-size:1.5rem;font-weight:400}.lookup-result-category{display:inline-block;padding:.25rem .75rem;background:var(--accent-color);color:#fff;border-radius:4px;font-size:.75rem;font-weight:400;text-transform:uppercase;letter-spacing:.5px}.lookup-result-content{margin-bottom:1rem}.spell-header{display:flex;gap:1rem;margin-bottom:1rem;padding:.75rem;background:var(--background-secondary);border-radius:4px}.spell-level{font-weight:400;color:var(--accent-color)}.spell-school{color:var(--text-secondary);font-style:normal}.spell-stats,.monster-stats-block,.monster-info,.item-stats{margin-bottom:1rem}.lookup-result-card .stat-row{display:flex;align-items:baseline;gap:.3rem;margin-bottom:.2rem;padding:.2rem .4rem;background:var(--background-secondary);border-radius:3px}.lookup-result-card .stat-label{font-size:.65rem;font-weight:400;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.2px;min-width:60px;opacity:.6}.lookup-result-card .stat-value{color:var(--accent-color);font-size:.9rem!important;font-weight:400!important}.spell-description,.item-description{padding:1rem;background:var(--background-secondary);border-radius:4px;line-height:1.6;color:var(--text-primary)}.spell-higher-levels,.spell-classes{margin-top:.75rem;padding:.75rem;background:var(--background-tertiary);border-left:3px solid var(--accent-color);border-radius:4px}.monster-type{font-size:1.1rem;font-weight:400;margin-bottom:1rem;color:var(--text-primary)}.monster-ability-scores{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem;margin-bottom:1rem}.lookup-result-card .ability{display:flex;flex-direction:column;align-items:center;padding:.4rem;background:var(--background-secondary);border-radius:3px}.lookup-result-card .ability-name{font-size:.55rem;font-weight:400;color:var(--text-secondary);text-transform:uppercase;margin-bottom:.15rem;opacity:.6}.lookup-result-card .ability-value{font-size:.9rem!important;font-weight:400!important;color:var(--accent-color)}.monster-section{margin-top:1rem;padding:1rem;background:var(--background-secondary);border-radius:4px}.monster-section h4{margin:0 0 .75rem;color:var(--accent-color);font-size:1.1rem;font-weight:400;text-transform:uppercase;letter-spacing:.5px}.trait-item,.action-item,.legendary-action-item{margin-bottom:.75rem;padding:.75rem;background:var(--background-tertiary);border-radius:4px;line-height:1.6}.trait-item:last-child,.action-item:last-child,.legendary-action-item:last-child{margin-bottom:0}.trait-item strong,.action-item strong,.legendary-action-item strong{color:var(--accent-color)}.item-type{font-size:1.1rem;font-weight:400;margin-bottom:1rem;color:var(--text-primary)}.rule-category{font-size:1.1rem;font-weight:400;margin-bottom:1rem;color:var(--accent-color)}.lookup-result-footer{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid var(--border-color);font-size:.875rem}.lookup-result-source{color:var(--text-secondary);font-style:normal}.lookup-result-link{color:var(--accent-color);text-decoration:none;font-weight:400;transition:color .2s}.lookup-result-link:hover{color:var(--accent-hover);text-decoration:underline}.lookup-result-card.category-spell{border-left:4px solid rgba(var(--vsg-purple-rgb),.71)}.lookup-result-card.category-monster{border-left:4px solid var(--vsg-error)}.lookup-result-card.category-item{border-left:4px solid var(--vsg-caution)}.lookup-result-card.category-rule{border-left:4px solid var(--vsg-info)}.lookup-result-card.category-class{border-left:4px solid rgba(var(--vsg-success-rgb),.8)}.lookup-result-card.category-feat{border-left:4px solid var(--vsg-caution)}.lookup-result-card.category-race{border-left:4px solid rgba(var(--vsg-success-rgb),.74)}.class-stats{margin-bottom:1rem}.class-subclasses,.class-description{margin-top:.75rem;padding:.75rem;background:var(--background-secondary);border-radius:4px;line-height:1.6}.class-subclasses{border-left:3px solid var(--accent-color)}.feat-prerequisites{margin-bottom:1rem;padding:.75rem;background:var(--background-secondary);border-left:3px solid var(--vsg-caution);border-radius:4px}.feat-description{padding:1rem;background:var(--background-secondary);border-radius:4px;line-height:1.6}.race-stats{margin-bottom:1rem}.race-traits,.race-subraces,.race-description{margin-top:.75rem;padding:.75rem;background:var(--background-secondary);border-radius:4px;line-height:1.6}.race-traits{border-left:3px solid rgba(var(--vsg-success-rgb),.74)}.race-subraces{border-left:3px solid var(--accent-color)}@media (max-width: 600px){.monster-ability-scores{grid-template-columns:repeat(3,1fr)}.lookup-result-title h3{font-size:1.25rem}.lookup-result-card{padding:1rem}}.fantafind-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.fantafind-modal{background:transparent;border:2px solid rgba(var(--vsg-purple-rgb),.4);border-radius:16px;box-shadow:0 10px 50px rgba(var(--vsg-purple-rgb),.3);width:100%;max-width:900px;max-height:calc(90 * var(--vh-fit));display:flex;flex-direction:column;overflow:hidden}.fantafind-modal-header{padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.3);display:flex;align-items:center;justify-content:space-between;background:rgba(var(--vsg-purple-rgb),.05)}.fantafind-modal-title{margin:0;font-family:var(--font-primary);font-size:24px;font-weight:400;color:var(--vsg-purple);letter-spacing:1px;display:flex;align-items:center;gap:12px}.title-icon{font-size:28px}.fantafind-modal-close{width:32px;height:32px;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:rgba(var(--vsg-purple-rgb),.8);font-size:20px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding:0}.fantafind-modal-close:hover{background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.6);color:var(--vsg-purple);transform:scale(1.1)}.fantafind-modal-body{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:24px}.fantafind-search-section{display:flex;flex-direction:column;gap:16px}.fantafind-search-label{font-size:14px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.9);text-transform:uppercase;letter-spacing:1px}.fantafind-system-selector{display:flex;align-items:center;gap:12px;margin-bottom:8px}.system-label{font-size:13px;font-weight:400;color:#ffffffb3}.system-buttons{display:flex;gap:8px}.fantafind-system-button{padding:8px 16px;background:rgba(var(--vsg-purple-rgb),.08);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:6px;color:#ffffffb3;cursor:pointer;transition:all .2s ease;font-family:inherit;font-size:13px;font-weight:400}.fantafind-system-button:hover{background:rgba(var(--vsg-purple-rgb),.15);border-color:rgba(var(--vsg-purple-rgb),.4);color:#ffffffe6}.fantafind-system-button.active{background:rgba(var(--vsg-purple-rgb),.25);border-color:rgba(var(--vsg-purple-rgb),.6);color:var(--vsg-purple);box-shadow:0 2px 8px rgba(var(--vsg-purple-rgb),.2)}.fantafind-category-selector{display:flex;flex-wrap:wrap;gap:8px}.fantafind-category-button{display:flex;align-items:center;gap:8px;padding:10px 16px;background:rgba(var(--vsg-purple-rgb),.1);border:2px solid rgba(var(--vsg-purple-rgb),.25);border-radius:8px;color:#fffc;cursor:pointer;transition:all .2s ease;font-family:var(--font-primary);font-size:13px;font-weight:400}.fantafind-category-button:hover{background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.5);color:var(--vsg-purple);transform:translateY(-2px)}.fantafind-category-button.active{background:rgba(var(--vsg-purple-rgb),.3);border-color:rgba(var(--vsg-purple-rgb),.7);color:var(--vsg-purple);box-shadow:0 4px 12px rgba(var(--vsg-purple-rgb),.3)}.category-icon{font-size:18px}.fantafind-search-input-container{position:relative;display:flex;align-items:center}.fantafind-search-input{flex:1;padding:14px 44px 14px 16px;background:#00000080;border:2px solid rgba(var(--vsg-purple-rgb),.3);border-radius:10px;color:#fffffff2;font-size:16px;font-family:inherit;transition:all .2s ease}.fantafind-search-input:focus{outline:none;border-color:rgba(var(--vsg-purple-rgb),.6);background:#000000b3;box-shadow:0 0 0 3px rgba(var(--vsg-purple-rgb),.1)}.fantafind-search-input::placeholder{color:#fff6;font-style:normal}.fantafind-search-input:disabled{opacity:.5;cursor:not-allowed}.fantafind-clear-button{position:absolute;right:12px;width:28px;height:28px;background:rgba(var(--vsg-purple-rgb),.15);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:rgba(var(--vsg-purple-rgb),.7);font-size:14px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding:0}.fantafind-clear-button:hover{background:rgba(var(--vsg-purple-rgb),.25);border-color:rgba(var(--vsg-purple-rgb),.5);color:var(--vsg-purple)}.fantafind-search-actions{display:flex;justify-content:flex-end}.fantafind-error{display:flex;align-items:center;gap:10px;padding:12px 16px;background:rgba(var(--vsg-error-rgb),.15);border:1px solid rgba(var(--vsg-error-rgb),.3);border-radius:8px;color:rgba(var(--vsg-error-rgb),.9);font-size:14px}.fantafind-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:40px;color:rgba(var(--vsg-purple-rgb),.8);font-size:14px}.fantafind-result-section{display:flex;flex-direction:column;gap:12px}.fantafind-result-header{display:flex;align-items:center;justify-content:space-between}.fantafind-result-header h3{margin:0;font-size:16px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.9);text-transform:uppercase;letter-spacing:1px}.search-time{font-size:12px;color:#ffffff80}.fantafind-result-section .lookup-result-card{background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;margin:0;--surface-color: rgba(0, 0, 0, .4);--border-color: rgba(var(--vsg-purple-rgb), .3);--text-primary: rgba(255, 255, 255, .95);--text-secondary: rgba(255, 255, 255, .6);--accent-color: var(--vsg-purple);--accent-hover: var(--vsg-purple-bright);--background-secondary: rgba(var(--vsg-purple-rgb), .08);--background-tertiary: rgba(var(--vsg-purple-rgb), .05)}.fantafind-result-section .lookup-result-header{border-bottom-color:rgba(var(--vsg-purple-rgb),.3)}.fantafind-result-section .lookup-result-footer{border-top-color:rgba(var(--vsg-purple-rgb),.3)}.fantafind-history-section{display:flex;flex-direction:column;gap:12px}.fantafind-history-list{display:flex;flex-direction:column;gap:8px}.fantafind-history-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:rgba(var(--vsg-purple-rgb),.08);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;color:#ffffffd9;cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.fantafind-history-item:hover{background:rgba(var(--vsg-purple-rgb),.15);border-color:rgba(var(--vsg-purple-rgb),.4);transform:translate(4px)}:where(.fantafind-modal-overlay) .history-icon{font-size:20px}.history-name{flex:1;font-weight:400}:where(.fantafind-modal-overlay) .history-category{font-size:12px;color:rgba(var(--vsg-purple-rgb),.7);text-transform:uppercase;letter-spacing:.5px;padding:4px 8px;background:rgba(var(--vsg-purple-rgb),.15);border-radius:4px}.fantafind-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px;text-align:center;color:#fff9}.fantafind-empty-state p{margin:0;font-size:14px}:where(.fantafind-modal-overlay) .empty-hint{font-style:normal;color:#fff6}.fantafind-modal-footer{padding:16px 24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.3);background:#0000004d;display:flex;align-items:center;justify-content:space-between}.footer-info{display:flex;align-items:center;gap:12px}.game-system-badge{padding:6px 12px;background:rgba(var(--vsg-purple-rgb),.2);border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:6px;color:var(--vsg-purple);font-size:12px;font-weight:400;text-transform:uppercase;letter-spacing:.5px}@media (max-width: 600px){.fantafind-modal{max-width:95%;max-height:calc(95 * var(--vh-fit))}.fantafind-modal-header{padding:16px}.fantafind-modal-title{font-size:20px}.fantafind-modal-body{padding:16px}.fantafind-category-selector{flex-wrap:wrap}.fantafind-category-button{flex:1;min-width:100px;justify-content:center}.fantafind-modal-footer{flex-direction:column;gap:12px;align-items:stretch}.footer-info{justify-content:center}}@media (max-width: 600px){.fantafind-category-button{padding:8px 12px;font-size:12px}.category-icon{font-size:16px}.fantafind-search-input{padding:12px 14px;font-size:15px}}.epic-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.epic-modal{position:relative;background:transparent;border-radius:12px;width:90%;max-width:650px;max-height:calc(90 * var(--vh-fit));overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3);border:1px solid rgba(var(--vsg-purple-rgb),.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideUp .3s ease}.epic-modal-bg-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;border-radius:12px;z-index:0}.epic-modal-header{position:relative;z-index:1;display:flex;align-items:center;padding:12px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05)}.epic-modal-header-left{flex:1}.epic-modal-title{flex:1;font-family:var(--font-primary);font-size:1.25rem;font-weight:400;color:var(--vsg-purple);margin:0;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5);text-align:center}.epic-modal-header-actions{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:8px}.epic-bg-button{background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:rgba(var(--vsg-purple-rgb),.7);width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.epic-bg-button:hover{background:rgba(var(--vsg-purple-rgb),.2);color:var(--vsg-purple);border-color:rgba(var(--vsg-purple-rgb),.5)}.epic-modal-close{background:transparent;border:none;color:rgba(var(--vsg-purple-rgb),.6);font-size:1.5rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.epic-modal-close:hover{color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.1)}.epic-modal-content{position:relative;z-index:1;padding:24px;overflow-y:auto;flex:1}.epic-modal-content::-webkit-scrollbar{width:8px}.epic-modal-content::-webkit-scrollbar-track{background:rgba(var(--vsg-purple-rgb),.05);border-radius:4px}.epic-modal-content::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.3);border-radius:4px}.epic-modal-subtitle{font-family:var(--font-primary);font-size:.95rem;color:#ffffffb3;margin:0 0 20px;text-align:center}.epic-benefits-list{display:flex;flex-direction:column;gap:10px}.epic-benefit-item{padding:10px 14px;background:rgba(var(--vsg-purple-rgb),.03);border:1px solid rgba(var(--vsg-purple-rgb),.1);border-radius:8px;transition:all .2s ease;text-align:center}.epic-benefit-item:hover{background:rgba(var(--vsg-purple-rgb),.06);border-color:rgba(var(--vsg-purple-rgb),.2)}.epic-benefit-title{font-family:var(--font-primary);font-size:1.1rem;font-weight:400;color:var(--vsg-purple);margin:0 0 4px;text-align:center}.epic-benefit-description{font-size:.95rem;color:#ffffffb3;margin:0;line-height:1.4;text-align:center}.epic-price-info{display:flex;flex-direction:column;align-items:center;gap:2px}.epic-price{font-family:var(--font-primary);font-size:1.1rem;font-weight:400;color:var(--vsg-purple);text-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.4)}.epic-price-note{font-size:.7rem;color:#fff6}.epic-modal-footer{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;padding:10px 24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05)}.epic-status{display:flex;align-items:center;gap:8px}.epic-status-label{font-family:var(--font-primary);font-size:.8rem;color:#ffffff80;text-transform:uppercase;letter-spacing:.5px}.epic-status-value{font-family:var(--font-primary);font-size:.85rem;font-weight:400;padding:4px 10px;border-radius:12px;text-transform:uppercase;letter-spacing:.5px}.epic-status-value.premium{background:rgba(var(--vsg-purple-rgb),.2);color:var(--vsg-purple);border:1px solid rgba(var(--vsg-purple-rgb),.3)}.epic-status-value.free{background:#ffffff0d;color:#fff9;border:1px solid rgba(255,255,255,.15)}.epic-modal-actions{display:flex;gap:12px}.game-info-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:10000;padding:40px;animation:gameInfoFadeIn .2s ease}.game-info-modal{position:relative;background:transparent;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:16px;width:100%;max-width:800px;max-height:calc(85 * var(--vh-fit));display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #00000080,0 0 40px rgba(var(--vsg-purple-rgb),.1);animation:gameInfoSlideUp .3s ease}@keyframes gameInfoFadeIn{0%{opacity:0}to{opacity:1}}@keyframes gameInfoSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.game-info-modal-bg{position:absolute;top:0;left:0;right:0;bottom:0;background-size:cover;background-position:center top;opacity:.25}.game-info-modal-content{position:relative;z-index:1;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.game-info-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px 16px}.game-info-modal-title{margin:0;font-family:var(--font-primary);font-size:28px;font-weight:400;color:var(--vsg-purple);letter-spacing:1px;text-shadow:0 2px 10px rgba(var(--vsg-purple-rgb),.3)}.game-info-modal-close{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:50%;color:#ffffffb3;font-size:28px;cursor:pointer;transition:all .2s;line-height:1}.game-info-modal-close:hover{background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.4);color:var(--vsg-purple);transform:scale(1.1)}.game-info-modal-body{flex:1;min-height:0;overflow-y:auto;padding:0 28px 24px;color:#ffffffd9;font-size:15px;line-height:1.7}.game-info-description{margin-bottom:24px;padding:20px;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px}.game-info-description p{margin:0;font-size:15px;line-height:1.7;color:#ffffffe6}.game-info-description.empty p{color:#ffffff80;font-style:normal}.game-info-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.game-info-stat{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;padding:6px 12px;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:6px}.game-info-stat .stat-label{font-size:11px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.8);text-transform:uppercase;letter-spacing:.5px}.game-info-stat .stat-value{font-size:13px;color:#ffffffe6;text-align:right}.game-info-modal-footer{display:flex;justify-content:center;gap:12px;padding:16px 28px 24px}.game-info-modal-body::-webkit-scrollbar{width:8px}.game-info-modal-body::-webkit-scrollbar-track{background:rgba(var(--vsg-purple-rgb),.05);border-radius:4px}.game-info-modal-body::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.3);border-radius:4px}.game-info-modal-body::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.5)}@media (max-width: 600px){.game-info-modal-backdrop{padding:20px}.game-info-stats{grid-template-columns:1fr}.game-info-modal-title{font-size:22px}}.invite-modal{background:transparent;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;width:90%;max-width:500px;max-height:calc(80 * var(--vh-fit));display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.2);animation:modalFadeIn .2s ease-out}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.invite-modal-header{padding:24px 24px 16px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.invite-modal-header h2{font-family:var(--font-primary);color:var(--vsg-purple);font-size:24px;margin:0 0 8px;letter-spacing:1px}.invite-modal-subtitle{color:#ffffffb3;font-size:14px;margin:0}.invite-modal-content{padding:16px 24px;flex:1;overflow-y:auto;min-height:200px;max-height:400px}.invite-error{background:rgba(var(--vsg-error-rgb),.1);border:1px solid rgba(var(--vsg-error-rgb),.3);border-radius:8px;padding:12px 16px;color:var(--vsg-error);font-size:14px;margin-bottom:16px}.invite-empty{display:flex;align-items:center;justify-content:center;height:150px;color:#ffffff80;font-size:14px;text-align:center}.invite-games-list{display:flex;flex-direction:column;gap:8px}.invite-game-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:8px;cursor:pointer;transition:all .2s ease}.invite-game-item:hover:not(.sent){background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.3);transform:translate(4px)}.invite-game-item.sent{cursor:default;opacity:.7;background:rgba(var(--vsg-success-rgb),.05);border-color:rgba(var(--vsg-success-rgb),.16)}.invite-game-info{display:flex;flex-direction:column;gap:4px}.invite-game-name{font-family:var(--font-primary);color:var(--vsg-purple);font-size:16px;font-weight:400}.invite-game-role{color:#ffffff80;font-size:12px;text-transform:uppercase;letter-spacing:1px}.invite-game-action{font-size:12px}.invite-click{color:rgba(var(--vsg-purple-rgb),.6);transition:color .2s ease}.invite-game-item:hover:not(.sent) .invite-click{color:var(--vsg-purple)}.invite-sending{color:rgba(var(--vsg-purple-rgb),.8);animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.invite-sent{color:rgba(var(--vsg-success-rgb),.8);font-weight:400}.invite-modal-footer{padding:16px 24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.2);display:flex;justify-content:flex-end}.avatar-cropper-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10000;display:flex;align-items:center;justify-content:center;animation:avatarFadeIn .3s ease}@keyframes avatarFadeIn{0%{opacity:0}to{opacity:1}}.avatar-cropper-modal{background:linear-gradient(135deg,rgba(var(--vsg-surface-rgb),.98),rgba(var(--vsg-surface-rgb),.98));border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:16px;padding:24px;max-width:calc(90 * var(--vw-fit));max-height:calc(90 * var(--vh-fit));display:flex;flex-direction:column;gap:20px;box-shadow:0 20px 60px rgba(var(--vsg-purple-rgb),.3)}.avatar-cropper-header{text-align:center}.avatar-cropper-header h3{color:var(--vsg-purple);font-family:var(--font-primary);font-size:22px;font-weight:400;margin:0 0 8px;letter-spacing:.5px;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.3)}.avatar-cropper-header p{color:rgba(var(--vsg-purple-rgb),.7);font-size:14px;margin:0}.avatar-cropper-main{display:flex;align-items:center;gap:30px;width:100%}.avatar-cropper-controls-left{display:flex;flex-direction:column;gap:16px}.avatar-cropper-container{display:flex;flex-direction:column;gap:16px;align-items:center;flex:0 0 auto}.avatar-cropper-controls-right{display:flex;flex-direction:column;gap:12px}.avatar-cropper-frame{width:400px;height:400px;max-width:calc(90 * var(--vw-fit));max-height:calc(90 * var(--vw-fit));background:#000;border:2px solid rgba(var(--vsg-purple-rgb),.5);border-radius:50%;overflow:hidden;position:relative;-webkit-user-select:none;user-select:none}.avatar-cropper-image{position:absolute;top:0;left:0;transform-origin:top left;transition:transform .1s ease;max-width:none;pointer-events:none}.avatar-cropper-frame-overlay{position:absolute;top:0;left:0;right:0;bottom:0;border:2px solid rgba(var(--vsg-purple-rgb),.5);border-radius:50%;pointer-events:none;z-index:1;box-shadow:inset 0 0 30px rgba(var(--vsg-purple-rgb),.1)}.avatar-zoom-controls{display:flex;flex-direction:column;align-items:center;gap:8px;background:#00000080;padding:12px;border-radius:8px;border:1px solid rgba(var(--vsg-purple-rgb),.2)}.avatar-zoom-btn{min-width:50px;height:32px;border-radius:8px;border:1px solid rgba(var(--vsg-purple-rgb),.3);background:rgba(var(--vsg-purple-rgb),.1);color:var(--vsg-purple);font-size:13px;font-weight:400;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;padding:0 8px}.avatar-zoom-btn:hover{background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.5);transform:scale(1.1)}.avatar-zoom-input-wrapper{display:flex;align-items:center;background:#000000b3;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;overflow:hidden}.avatar-zoom-input{width:50px;height:30px;background:transparent;border:none;color:var(--vsg-purple);font-size:14px;font-weight:400;text-align:center;padding:0 4px;outline:none}.avatar-zoom-input-wrapper:focus-within{border-color:rgba(var(--vsg-purple-rgb),.5);background:rgba(var(--vsg-purple-rgb),.05)}.avatar-zoom-input::-webkit-inner-spin-button,.avatar-zoom-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.avatar-zoom-percent{color:var(--vsg-purple);font-size:14px;font-weight:400;padding-right:8px;opacity:.7}@media (pointer: coarse){.avatar-cropper-frame{touch-action:none}.avatar-zoom-btn{width:40px;height:40px;font-size:24px}}.custom-request-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}.custom-request-modal-content{background:#00000080;border:1px solid var(--border-color, rgba(var(--vsg-purple-rgb), .2));border-radius:8px;max-width:600px;width:100%;max-height:calc(90 * var(--vh-fit));overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease-out}:where(.custom-request-modal-overlay) .modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--border-color, rgba(var(--vsg-purple-rgb), .2))}:where(.custom-request-modal-overlay) .modal-header h3{margin:0;font-size:1.2rem;font-weight:400;color:var(--text-primary, rgba(255, 255, 255, .88))}.modal-close-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-secondary, rgba(255, 255, 255, .63));font-size:1.5rem;cursor:pointer;border-radius:4px;transition:all .2s}.modal-close-btn:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.1);color:var(--text-primary, rgba(255, 255, 255, .88))}.modal-close-btn:disabled{opacity:.5;cursor:not-allowed}:where(.custom-request-modal-overlay) .modal-body{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.field-info{padding:1rem;background:rgba(var(--vsg-info-rgb),.1);border:1px solid rgba(var(--vsg-info-rgb),.3);border-radius:6px}.field-info-label{margin:0 0 .25rem;font-size:.8rem;color:var(--text-secondary, rgba(255, 255, 255, .63));text-transform:uppercase;letter-spacing:.5px}.field-info-value{margin:0;font-size:1rem;font-weight:400;color:var(--primary-color, var(--vsg-info))}:where(.custom-request-modal-overlay) .modal-description{margin:0;font-size:.9rem;color:var(--text-secondary, rgba(255, 255, 255, .63));line-height:1.5}.modal-error{display:flex;align-items:center;gap:.75rem;padding:1rem;background:rgba(var(--vsg-error-rgb),.1);border:1px solid rgba(var(--vsg-error-rgb),.3);border-radius:6px;color:var(--vsg-magenta);font-size:.9rem}:where(.custom-request-modal-overlay) .error-icon{font-size:1.2rem}.request-form{display:flex;flex-direction:column;gap:1.25rem}:where(.custom-request-modal-overlay) .form-group{display:flex;flex-direction:column;gap:.5rem}:where(.custom-request-modal-overlay) .form-group label{font-weight:400}:where(.custom-request-modal-overlay) .form-input,:where(.custom-request-modal-overlay) .form-textarea{width:100%;font-size:.95rem;font-family:inherit}:where(.custom-request-modal-overlay) .form-input:focus,:where(.custom-request-modal-overlay) .form-textarea:focus{outline:none}:where(.custom-request-modal-overlay) .form-textarea{resize:vertical;min-height:100px;line-height:1.5}.input-hint{font-size:.8rem;color:var(--text-secondary, rgba(255, 255, 255, .63));font-style:normal}.modal-info-box{display:flex;gap:.75rem;padding:1rem;background:rgba(var(--vsg-info-rgb),.1);border:1px solid rgba(var(--vsg-info-rgb),.3);border-radius:6px}.modal-info-box strong{display:block;margin-bottom:.25rem;font-size:.9rem;color:var(--text-primary, rgba(255, 255, 255, .88))}.modal-info-box p{margin:0;font-size:.85rem;color:var(--text-secondary, rgba(255, 255, 255, .63));line-height:1.4}:where(.custom-request-modal-overlay) .modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid var(--border-color, rgba(var(--vsg-purple-rgb), .2))}:where(.custom-request-modal-overlay) .btn-primary,:where(.custom-request-modal-overlay) .btn-secondary{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.95rem;font-weight:400;cursor:pointer;transition:all .2s}:where(.custom-request-modal-overlay) .btn-primary{background:var(--primary-color, var(--vsg-info));color:#fff}:where(.custom-request-modal-overlay) .btn-primary:hover:not(:disabled){background:var(--primary-hover, var(--vsg-info))}:where(.custom-request-modal-overlay) .btn-primary:disabled{opacity:.5;cursor:not-allowed}:where(.custom-request-modal-overlay) .btn-secondary{background:var(--bg-tertiary, var(--vsg-surface));color:var(--text-primary, rgba(255, 255, 255, .88));border:1px solid var(--border-color, rgba(var(--vsg-purple-rgb), .2))}:where(.custom-request-modal-overlay) .btn-secondary:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.1)}:where(.custom-request-modal-overlay) .btn-secondary:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 600px){.custom-request-modal-content{max-width:100%;max-height:calc(100 * var(--vh-fit));border-radius:0}:where(.custom-request-modal-overlay) .modal-header,:where(.custom-request-modal-overlay) .modal-body,:where(.custom-request-modal-overlay) .modal-footer{padding:1rem}:where(.custom-request-modal-overlay) .modal-footer{flex-direction:column-reverse}:where(.custom-request-modal-overlay) .btn-primary,:where(.custom-request-modal-overlay) .btn-secondary{width:100%}}.batch-field-path-subrow{padding-left:.75rem}.sheet-grid-path-subrow{grid-column:1 / -1;padding-left:.75rem}.path-indent-arrow{color:#ffffff40;font-size:.75rem;margin-right:.25rem}.path-display-name{font-size:.85rem;color:#ffffff8c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.path-primary-badge{font-size:.55rem;color:rgba(var(--vsg-purple-rgb),.5);text-transform:uppercase;letter-spacing:.05em;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:3px;padding:.05rem .25rem;margin-left:.3rem;white-space:nowrap}.compound-repeating{display:flex;flex-direction:column;gap:4px;width:100%}.compound-instance-row{display:flex;flex-direction:row;align-items:center;gap:1rem}.column-fields .compound-repeating,.column-fields .compound-instance-row{display:contents}.column-fields .compound-instance-name{grid-column:1;position:relative}.column-fields .compound-instance-row>.field-content{grid-column:2}.column-fields .compound-instance-name .cfcm-gear-btn{position:absolute;left:-18px;top:50%;transform:translateY(-50%)}.column-fields .compound-add-btn,.column-fields .compound-no-entries{grid-column:1 / -1}.wizard-column-fields .compound-repeating,.wizard-column-fields .compound-instance-row{display:contents}.wizard-column-fields .compound-instance-name{grid-column:1;position:relative}.wizard-column-fields .compound-instance-row>.field-content{grid-column:2}.wizard-column-fields .compound-instance-name .cfcm-gear-btn{position:absolute;left:-18px;top:50%;transform:translateY(-50%)}.wizard-column-fields .compound-add-btn,.wizard-column-fields .compound-no-entries{grid-column:1 / -1}.compound-instance-name .compound-name-input{box-sizing:border-box;width:0;flex:1;min-width:0}.compound-instance-name .compound-name-input::placeholder{color:rgba(var(--vsg-purple-rgb),.3)}.compound-remove-btn{flex-shrink:0;background:none;border:1px solid transparent;color:var(--text-secondary, rgba(255, 255, 255, .53));font-size:1rem;cursor:pointer;width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:4px;line-height:1;transition:color .15s,border-color .15s,background .15s}.compound-remove-btn:hover{color:var(--vsg-magenta);border-color:rgba(var(--vsg-magenta-rgb),.5);background:rgba(var(--vsg-magenta-rgb),.1)}.compound-add-btn.vstyle-btn{background:rgba(var(--vsg-purple-rgb),.08);border:1px dashed rgba(var(--vsg-purple-rgb),.3);color:rgba(var(--vsg-purple-rgb),.6);font-size:1.1rem;cursor:pointer;padding:4px 12px;border-radius:6px;width:100%;transition:color .2s,border-color .2s,background .2s}.compound-add-btn.vstyle-btn:hover{color:var(--vsg-purple);border-color:rgba(var(--vsg-purple-rgb),.6);background:rgba(var(--vsg-purple-rgb),.15)}.compound-no-entries{color:var(--text-tertiary, rgba(255, 255, 255, .4));font-size:.85rem;font-style:normal}.catalog-picker-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.catalog-picker-modal{background:#000000f2;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;width:90%;max-width:600px;max-height:calc(80 * var(--vh-fit));display:flex;flex-direction:column;font-family:var(--font-primary)}.catalog-picker-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15)}.catalog-picker-header h3{margin:0;font-size:1rem;font-weight:400;color:#ffffffe6}.catalog-picker-close{background:none;border:none;color:#ffffff80;font-size:1.1rem;cursor:pointer;padding:.25rem;transition:all .2s ease}.catalog-picker-close:hover{color:#ffffffe6}.catalog-picker-search{padding:.75rem 1.25rem}.catalog-picker-search-input{width:100%;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:6px;padding:.5rem .75rem;color:#fff;font-family:inherit;font-size:.85rem;transition:all .2s ease}.catalog-picker-search-input:focus{outline:none;border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 0 8px rgba(var(--vsg-purple-rgb),.15)}.catalog-picker-categories{display:flex;gap:.5rem;padding:0 1.25rem .75rem;overflow-x:auto;flex-shrink:0}.catalog-category-tab{background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:4px;padding:.25rem .75rem;color:#fff9;font-family:inherit;font-size:.75rem;cursor:pointer;transition:all .2s ease;white-space:nowrap}.catalog-category-tab:hover{background:rgba(var(--vsg-purple-rgb),.1);color:#fffc}.catalog-category-tab.active{background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.4);color:#fff}.catalog-picker-entries{flex:1;min-height:0;overflow-y:auto;padding:0 1.25rem .75rem}.catalog-picker-loading,.catalog-picker-empty,.catalog-picker-error{text-align:center;padding:2rem;color:#fff6;font-size:.85rem}.catalog-picker-error{color:var(--color-danger, var(--vsg-error))}.catalog-entry-header{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.25rem}.catalog-entry-top-row{display:flex;justify-content:space-between;align-items:center}:where(.catalog-picker-backdrop) .catalog-entry-name{font-weight:400;color:#ffffffe6}.catalog-entry-rarity{font-size:.7rem;font-weight:400;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}:where(.catalog-picker-backdrop) .catalog-entry-category{font-size:.65rem;color:rgba(var(--vsg-purple-rgb),.6);text-transform:uppercase;letter-spacing:.05em}.catalog-entry-description{margin:.15rem 0 0;font-size:.8rem;color:#ffffff80;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.catalog-entry-effects{display:flex;gap:.5rem;margin-top:.35rem;flex-wrap:wrap}.catalog-entry-effect{font-size:.7rem;color:rgba(var(--vsg-gold-rgb),.8);background:rgba(var(--vsg-gold-rgb),.1);padding:.1rem .4rem;border-radius:3px}.catalog-picker-footer{padding:.75rem 1.25rem;border-top:1px solid rgba(var(--vsg-purple-rgb),.15)}.catalog-custom-item-btn{width:100%;background:none;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;padding:.5rem;color:rgba(var(--vsg-purple-rgb),.8);font-family:inherit;font-size:.85rem;cursor:pointer;transition:all .2s ease}.catalog-custom-item-btn:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.5)}.catalog-entry-badge{position:absolute;top:.4rem;right:.4rem;font-size:.65rem;font-weight:400;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:50%}.catalog-entry-badge--added{background:rgba(var(--vsg-success-rgb),.2);color:var(--vsg-success);border:1px solid rgba(var(--vsg-success-rgb),.3)}.catalog-entry-badge--stackable{background:rgba(var(--vsg-purple-rgb),.2);color:var(--vsg-purple);border:1px solid rgba(var(--vsg-purple-rgb),.3)}.note-prompt-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1100}.note-prompt-modal{background:transparent;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;width:90%;max-width:400px;overflow:hidden;display:flex;flex-direction:column}.note-prompt-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05)}.note-prompt-title{margin:0;font-family:var(--font-primary);font-size:1.25rem;font-weight:400;color:var(--vsg-purple)}.note-prompt-content{padding:24px}.note-prompt-input{width:100%;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;padding:.75rem;color:#ffffffe6;font-family:var(--font-primary);font-size:.95rem;outline:none;transition:border-color .2s ease}.note-prompt-input:focus{border-color:rgba(var(--vsg-purple-rgb),.6)}.note-prompt-input::placeholder{color:#ffffff4d}.note-prompt-footer{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:16px 24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05)}.record-table-container{border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:8px;overflow-x:auto;font-family:var(--font-primary)}.record-table{width:100%;border-collapse:collapse;table-layout:auto}.record-table.record-table-fixed{table-layout:fixed}.record-table thead th{background:#00000080;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);padding:.5rem .75rem;text-align:left;font-size:.75rem;font-weight:400;letter-spacing:.05em;text-transform:uppercase;color:#ffffffb3;white-space:nowrap;transition:all .2s ease}.record-table thead th.col-equipped{width:60px;text-align:center}.record-table thead th.col-actions,.record-table tbody td.col-actions{width:1%;white-space:nowrap;text-align:center;padding:0 4px}.record-table tbody tr{background:#0003;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.1);transition:all .2s ease}.record-table tbody tr:hover:not(.sentinel-row){background:#0000004d}.record-table tbody td{padding:.35rem .5rem;vertical-align:middle}.record-table tbody tr.sentinel-row{opacity:.4;border-bottom:none;cursor:pointer}.record-table tbody tr.sentinel-row:hover{opacity:.6}.record-table tbody tr.sentinel-row td{color:#ffffff4d;font-style:normal}.sentinel-add-hint{display:flex;align-items:center;gap:.5rem;cursor:pointer}.sentinel-plus{font-size:1rem;color:rgba(var(--vsg-purple-rgb),.4)}.record-table-cell-input{width:100%;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:4px;padding:.3rem .5rem;color:inherit;font-family:inherit;font-size:.85rem;transition:all .2s ease}.record-table-cell-input:focus{outline:none;border-color:rgba(var(--vsg-purple-rgb),.4);box-shadow:0 0 0 1px rgba(var(--vsg-purple-rgb),.1)}.record-table-cell-input[type=number]{width:70px}.record-table-cell-input:disabled,.record-table-cell-input.read-only{opacity:.6;cursor:not-allowed}.record-table-calculated{font-size:.85rem;color:#fffc;padding:.3rem 0}.record-table-equipped-toggle{display:flex;align-items:center;justify-content:center}.equipped-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--vsg-gold);transition:all .2s ease}.equipped-checkbox:checked{filter:drop-shadow(0 0 3px rgba(var(--vsg-gold-rgb),.6))}.equipped-checkbox:disabled{opacity:.4;cursor:not-allowed}.record-table-effects-summary{font-size:.75rem;color:rgba(var(--vsg-gold-rgb),.8);padding:.15rem .5rem;background:#0000004d;border-top:1px solid rgba(var(--vsg-purple-rgb),.1)}.record-table-structured-fields{font-size:.75rem;color:#ffffffbf;padding:.2rem .5rem .3rem;background:#00000040;border-top:1px solid rgba(var(--vsg-purple-rgb),.1)}.record-table-structured-line{display:flex;gap:.4rem;align-items:baseline;line-height:1.4}.record-table-structured-label{color:var(--vsg-purple);font-weight:400;white-space:nowrap}.record-table-structured-value{color:#ffffffd9}.record-table-gm-badge{font-size:.65rem;color:rgba(var(--vsg-gold-rgb),.6);text-transform:uppercase;letter-spacing:.05em;padding:.1rem .4rem;border:1px solid rgba(var(--vsg-gold-rgb),.2);border-radius:3px;margin-left:.5rem}.record-table-readonly-overlay{pointer-events:none;opacity:.7}.record-table-cell-select{width:100%;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:4px;padding:.3rem .5rem;color:inherit;font-family:inherit;font-size:.85rem;transition:all .2s ease}.record-table-cell-select:focus{outline:none;border-color:rgba(var(--vsg-purple-rgb),.4)}.container-header{background:#0006;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);cursor:pointer;transition:background .2s ease}.container-header:hover{background:#00000080}.container-toggle-cell{text-align:center;padding:.6rem .25rem}.container-name-cell{padding:.6rem .75rem;display:flex;align-items:center;gap:.5rem}.container-name{font-weight:400;font-size:.85rem;color:#ffffffe6;white-space:nowrap}.container-weight-cell{font-size:.8rem;color:#fff9;padding:.6rem .5rem;white-space:nowrap}.container-capacity-cell{padding:.6rem .5rem;display:flex;align-items:center;gap:1rem}.container-capacity{display:flex;align-items:center;gap:.4rem}.capacity-text{font-size:.7rem;color:#ffffff80;white-space:nowrap}.capacity-bar{width:50px;height:4px;background:#0000004d;border-radius:2px;overflow:hidden}.capacity-fill{height:100%;background:rgba(var(--vsg-purple-rgb),.6);border-radius:2px;transition:width .3s ease,background .3s ease}.container-capacity.warn .capacity-fill{background:rgba(var(--vsg-purple-rgb),.9)}.container-capacity.over .capacity-fill{background:var(--vsg-gold);box-shadow:0 0 4px rgba(var(--vsg-gold-rgb),.4)}.container-capacity.over .capacity-text{color:rgba(var(--vsg-gold-rgb),.8)}.container-fixed-badge{font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;color:rgba(var(--vsg-purple-rgb),.7);border:1px solid rgba(var(--vsg-purple-rgb),.25);border-radius:3px;padding:.1rem .35rem}.container-config-row td{padding:.4rem .75rem .5rem 2.5rem;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.1);background:#00000040}.container-config{display:flex;gap:1.25rem;align-items:center}.container-config-field{display:flex;align-items:center;gap:.4rem;font-size:.7rem;color:#ffffff80}.container-config-input{width:70px;font-size:.75rem;padding:.2rem .4rem}.container-config-toggle{gap:.3rem}.container-item-row td:first-child,.container-sentinel td{padding-left:1.75rem}.container-add-actions{display:flex;gap:1.5rem;align-items:center}.container-add-btn .sentinel-plus{color:rgba(var(--vsg-purple-rgb),.6)}.sentinel-label{font-size:.75rem;color:#ffffff4d;margin-left:.25rem}.sentinel-add-hint:hover .sentinel-label{color:#ffffff80}.container-delete{margin-left:.5rem;opacity:0;transition:opacity .2s ease}.container-header:hover .container-delete{opacity:1}.fm-radio{display:inline-flex;align-items:center;justify-content:flex-start;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s ease;min-height:20px;flex-shrink:0}.fm-radio:focus{outline:none}.fm-radio:focus-visible .fm-radio-box{box-shadow:0 0 0 2px rgba(var(--vsg-purple-rgb),.4)}.fm-radio-box{width:18px;height:18px;box-sizing:border-box;border:2px solid rgba(var(--vsg-purple-rgb),.4);border-radius:50%;background:#0000004d;display:flex;align-items:center;justify-content:center;transition:all .2s ease;position:relative;flex-shrink:0}.fm-radio:hover .fm-radio-box{border-color:rgba(var(--vsg-purple-rgb),.6);background:rgba(var(--vsg-purple-rgb),.05)}.fm-radio.selected .fm-radio-box{background:linear-gradient(135deg,var(--vsg-purple),rgba(var(--vsg-purple-rgb),.64));border-color:var(--vsg-purple)}.fm-radio.selected:hover .fm-radio-box{background:linear-gradient(135deg,var(--vsg-purple),rgba(var(--vsg-purple-rgb),.67));border-color:var(--vsg-purple)}.fm-radio-dot{width:8px;height:8px;border-radius:50%;background:#fff;animation:fm-radio-dot-appear .2s ease}@keyframes fm-radio-dot-appear{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.fm-radio.disabled{cursor:not-allowed;opacity:.7}.fm-radio.disabled .fm-radio-box{border-color:rgba(var(--vsg-purple-rgb),.3)}.fm-radio.disabled.selected .fm-radio-box{border-color:rgba(var(--vsg-purple-rgb),.5);background:rgba(var(--vsg-purple-rgb),.15)}.fm-radio.disabled:hover .fm-radio-box{border-color:rgba(var(--vsg-purple-rgb),.3)}.fm-radio.has-label{gap:10px}.fm-radio-label{font-family:var(--font-primary);font-size:13px;font-weight:400;color:#fffc;letter-spacing:.5px;line-height:20px}.fm-radio-group{display:flex;flex-direction:column;align-items:flex-start}.table-cell-input,.table-cell-textarea,.table-cell-select,.table-cell-number,.table-cell-pool-numeric{--input-background: rgba(0, 0, 0, .7);--border-color: rgba(var(--vsg-purple-rgb), .3);--text-color: var(--vsg-purple);--text-muted: rgba(255, 255, 255, .5);--focus-color: var(--vsg-purple);--disabled-background: rgba(0, 0, 0, .4)}.table-cell-input{width:100%;padding:.25rem .3rem;border:1px solid var(--border-color);border-radius:4px;font-size:.9rem;background-color:var(--input-background);color:var(--text-color);font-weight:400}.table-cell-input:focus{outline:2px solid var(--focus-color);outline-offset:1px}.table-cell-input:disabled{background-color:var(--disabled-background);cursor:not-allowed;opacity:.6}.table-cell-input[type=number]::-webkit-inner-spin-button,.table-cell-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.table-cell-input[type=number]{-moz-appearance:textfield;text-align:center}.table-cell-text{min-width:15px}.table-cell-textarea{width:100%;padding:.25rem .3rem;border:1px solid var(--border-color);border-radius:4px;font-size:.9rem;resize:vertical;min-height:40px;background-color:var(--input-background);color:var(--text-color)}.table-cell-number{display:flex;align-items:center;gap:.25rem;justify-content:center;width:100%}.table-cell-number input[type=number]{text-align:center}.table-cell-unit{font-size:.85rem;color:var(--text-muted);white-space:nowrap}.table-cell-boolean{display:flex;justify-content:center;align-items:center}.table-cell-dots{display:flex;gap:.5rem;align-items:center;justify-content:center}.table-cell-dot{background:none;border:none;cursor:pointer;font-size:1.2rem;padding:0;line-height:1;transition:transform .1s}.table-cell-dot:hover:not(:disabled){transform:scale(1.15)}.table-cell-dot:disabled{cursor:not-allowed;opacity:.5}.table-cell-pool-numeric{display:flex;align-items:center;gap:.25rem;justify-content:center}.table-cell-pool-current{width:50px;text-align:center}.table-cell-pool-separator{font-weight:400;color:var(--text-muted)}.table-cell-pool-max{font-weight:400;color:var(--text-color)}.table-cell-pool-checkbox{display:flex;align-items:center;justify-content:center;flex-wrap:wrap}.table-cell-select{width:100%;padding:.25rem .3rem;border:1px solid var(--border-color);border-radius:4px;font-size:.9rem;background-color:var(--input-background);color:var(--text-color)}.table-cell-select:disabled{background-color:var(--disabled-background);cursor:not-allowed;opacity:.6}.table-cell-radio{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.table-cell-radio-option{display:flex;align-items:center;gap:.25rem;font-size:.85rem;cursor:pointer}.table-cell-radio-option input[type=radio]{cursor:pointer}.table-cell-radio-option input[type=radio]:disabled{cursor:not-allowed}.table-cell-date{min-width:120px}.table-cell-unsupported{display:flex;justify-content:center;align-items:center;color:var(--text-muted);font-style:normal;padding:.5rem}.checkbox-grid{display:inline-block;width:100%;max-width:100%;overflow-x:auto;--background-primary: rgba(0, 0, 0, .5);--background-secondary: rgba(0, 0, 0, .3);--header-background: rgba(var(--vsg-purple-rgb), .15);--row-label-background: rgba(var(--vsg-purple-rgb), .08);--cell-background: rgba(0, 0, 0, .6);--cell-hover: rgba(var(--vsg-purple-rgb), .12);--row-hover: rgba(var(--vsg-purple-rgb), .08);--border-color: rgba(var(--vsg-purple-rgb), .25);--text-primary: rgba(255, 255, 255, .9);--text-secondary: rgba(255, 255, 255, .6);--penalty-color: var(--vsg-purple);--display-cell-background: rgba(0, 0, 0, .7);--display-text-color: var(--vsg-purple)}.checkbox-grid-table{border-collapse:collapse;width:100%;table-layout:fixed;border:1px solid var(--border-color);background-color:var(--background-primary)}.checkbox-grid-empty{padding:2rem;text-align:center;color:var(--text-secondary, rgba(255, 255, 255, .4));font-style:normal;border:1px dashed var(--border-color, rgba(255, 255, 255, .8));border-radius:4px;background-color:var(--background-secondary, rgba(255, 255, 255, .96))}.checkbox-grid-empty p{margin:0}.checkbox-grid-header{padding:.5rem .75rem;background-color:var(--header-background);border:1px solid var(--border-color);font-weight:400;font-size:.9rem;text-align:center;color:var(--text-primary)}.checkbox-grid-header--left{text-align:left}.checkbox-grid-header--center{text-align:center}.checkbox-grid-header--right{text-align:right}.checkbox-grid-corner{padding:.5rem .75rem;background-color:var(--header-background);border:1px solid var(--border-color);font-weight:400}.checkbox-grid-corner--left{text-align:left}.checkbox-grid-corner--center{text-align:center}.checkbox-grid-corner--right{text-align:right}.checkbox-grid-row-label{padding:.5rem .75rem;background-color:var(--row-label-background);border:1px solid var(--border-color);font-weight:400;font-size:.9rem;white-space:normal;word-wrap:break-word;color:var(--text-primary)}.checkbox-grid-row-label--left{text-align:left}.checkbox-grid-row-label--center{text-align:center}.checkbox-grid-row-label--right{text-align:right}.checkbox-grid-label{margin-right:.5rem}.checkbox-grid-penalty{font-size:.85rem;color:var(--penalty-color);font-weight:400;margin-left:.25rem}.checkbox-grid-icon{margin-right:.4rem;font-size:1rem}.checkbox-grid-description{margin-left:.3rem;font-size:.8rem;color:var(--text-secondary);cursor:help}.checkbox-grid-cell{padding:.5rem;border:1px solid var(--border-color);text-align:center;background-color:var(--cell-background);vertical-align:middle}.checkbox-grid-cell:hover{background-color:var(--cell-hover)}.checkbox-grid-cell--display{background-color:var(--display-cell-background);font-weight:400;color:var(--display-text-color)}.checkbox-grid-cell--display:hover{background-color:var(--display-cell-background)}.checkbox-grid-display-value{display:inline-block;min-width:2rem;text-align:center}.checkbox-grid--compact .checkbox-grid-header,.checkbox-grid--compact .checkbox-grid-row-label,.checkbox-grid--compact .checkbox-grid-cell{padding:.3rem .5rem;font-size:.85rem}.checkbox-grid--normal .checkbox-grid-header,.checkbox-grid--normal .checkbox-grid-row-label,.checkbox-grid--normal .checkbox-grid-cell{padding:.5rem .75rem;font-size:.9rem}.checkbox-grid--spacious .checkbox-grid-header,.checkbox-grid--spacious .checkbox-grid-row-label,.checkbox-grid--spacious .checkbox-grid-cell{padding:.75rem 1rem;font-size:1rem}.checkbox-grid-row:hover .checkbox-grid-cell{background-color:var(--row-hover)}@media print{.checkbox-grid-table{border:2px solid #000}.checkbox-grid-header,.checkbox-grid-row-label,.checkbox-grid-cell{border:1px solid #000}}.field-renderer{display:flex;flex-direction:row;align-items:center;gap:1rem}.field-renderer.field-type-textarea,.field-renderer.field-type-richtext,.field-renderer.field-type-radio,.field-renderer.field-type-image,.field-renderer.field-type-divider,.field-renderer.field-type-heading,.field-renderer.field-type-list,.field-renderer.field-type-checkbox_grid,.field-renderer.field-type-record_table{flex-direction:column;align-items:flex-start}.field-renderer.field-type-textarea .field-content,.field-renderer.field-type-richtext .field-content,.field-renderer.field-type-radio .field-content,.field-renderer.field-type-image .field-content,.field-renderer.field-type-checkbox_grid .field-content,.field-renderer.field-type-record_table .field-content{width:100%}.field-renderer.field-type-list,.field-renderer.field-type-list .field-content{display:contents}.field-renderer.has-error .field-input,.field-renderer.has-error .field-input:focus{border-color:var(--vsg-magenta)}.dynamic-label-input-wrapper{display:flex;align-items:center;gap:.4rem;min-width:150px;flex-shrink:0}.dynamic-label-input{font-size:.9rem;font-weight:400;color:#ffffffe6;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;padding:.3rem .5rem;width:100%;max-width:140px}.dynamic-label-input:focus{outline:none;border-color:var(--vsg-purple)}.dynamic-label-input:disabled{opacity:.7;cursor:default}.required-mark{color:var(--vsg-magenta)}.formula-indicator{display:inline-flex;align-items:center;justify-content:center;padding:1px 5px;background:rgba(var(--vsg-magenta-rgb),.15);border:1px solid rgba(var(--vsg-magenta-rgb),.4);border-radius:4px;font-size:.65rem;font-family:var(--font-primary);font-weight:400;font-style:normal;color:var(--vsg-magenta);cursor:help;transition:all .2s;text-transform:lowercase;margin-left:auto;flex-shrink:0}.formula-indicator:hover{background:rgba(var(--vsg-magenta-rgb),.25);border-color:rgba(var(--vsg-magenta-rgb),.6)}.gm-indicator{display:inline-flex;align-items:center;justify-content:center;padding:1px 5px;background:rgba(var(--vsg-magenta-rgb),.15);border:1px solid rgba(var(--vsg-magenta-rgb),.4);border-radius:4px;font-size:.65rem;font-family:var(--font-primary);font-weight:400;color:var(--vsg-magenta);cursor:help;transition:all .2s;text-transform:uppercase;letter-spacing:.5px;margin-left:auto;flex-shrink:0}.gm-indicator:hover{background:rgba(var(--vsg-magenta-rgb),.25);border-color:rgba(var(--vsg-magenta-rgb),.6)}.field-player-locked{display:inline-flex;align-items:center;justify-content:center;padding:1px 4px;color:rgba(var(--vsg-purple-rgb),.5);cursor:help;transition:all .2s;vertical-align:middle;margin-left:4px}.field-player-locked:hover{color:rgba(var(--vsg-purple-rgb),.8)}.field-content{flex:1;display:flex;flex-direction:column;gap:.5rem}.field-input-row{display:flex;align-items:center;gap:.5rem;flex:1}.field-input{width:100%;padding:.7rem .9rem;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:#ffffffe6;font-size:.95rem;font-family:inherit;transition:all .2s}input.field-input{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.field-input:focus{outline:none;border-color:var(--vsg-purple);background:#0009;box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.2)}.field-input:disabled{opacity:.6;cursor:not-allowed}.textarea-input,.richtext-input{resize:vertical;min-height:100px;line-height:1.5}.textarea-input.html-content{min-height:100px;line-height:1.6;white-space:normal}.textarea-input.html-content p{margin:0 0 .5em}.textarea-input.html-content p:last-child{margin-bottom:0}.textarea-input.html-content strong{color:var(--vsg-purple);font-weight:400}.textarea-input.html-content:empty:before{content:attr(data-placeholder);color:#ffffff4d;pointer-events:none}.textarea-input.html-content.read-only{opacity:.6;cursor:not-allowed}.field-divider{border:none;border-top:1px solid var(--border-color, rgba(var(--vsg-purple-rgb), .2));margin:.5rem 0}.field-heading{margin:0;font-size:1.1rem;font-weight:400;color:var(--text-primary, rgba(255, 255, 255, .88));padding-bottom:.5rem}.field-error{font-size:.8rem;color:var(--vsg-magenta);display:flex;align-items:center;gap:.35rem}.field-error:before{content:"⚠"}.locked-indicator{font-size:.7rem;color:#ffffff59;cursor:help;flex-shrink:0}.readonly-badge{font-size:.75rem;color:var(--text-secondary, rgba(255, 255, 255, .63));font-style:normal}.unknown-field-type{padding:1rem;background:rgba(var(--vsg-error-rgb),.1);border:1px solid rgba(var(--vsg-error-rgb),.3);border-radius:6px;color:var(--vsg-magenta);font-size:.9rem}@media (max-width: 600px){.field-renderer{flex-direction:column;align-items:flex-start}.field-content{width:100%}}.field-renderer.field-type-number{justify-content:space-between}.field-renderer.field-type-number .field-content{flex:0 0 auto}.number-field-roll-display{display:flex;align-items:center;gap:.5rem;width:fit-content}.roll-display-value{width:60px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-family:inherit;font-size:.95rem;font-weight:400;font-variant-numeric:tabular-nums;cursor:default;transition:all .2s ease}.roll-display-value.unassigned{color:var(--vsg-purple);background:#0000004d;border:1px dashed rgba(var(--vsg-purple-rgb),.3)}.roll-display-value.assigned{color:#fffffff2;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.4);box-shadow:0 0 8px rgba(var(--vsg-purple-rgb),.1)}.number-field-spread{justify-content:flex-start;gap:6px}.number-step-btn{width:36px;align-self:stretch;min-height:36px;display:flex;align-items:center;justify-content:center;background:rgba(var(--vsg-purple-rgb),.15);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:var(--vsg-purple);font-size:1.2rem;font-weight:400;cursor:pointer;transition:all .2s ease;flex-shrink:0}.number-step-btn:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.3);border-color:rgba(var(--vsg-purple-rgb),.5)}.number-step-btn:active:not(:disabled){transform:scale(.95)}.number-step-btn:disabled{opacity:.3;cursor:not-allowed}.number-input-center{width:60px;text-align:center;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:#ffffffe6;font-family:inherit;font-size:.95rem;font-weight:400;padding:.7rem .5rem;outline:none;transition:all .2s ease;box-sizing:border-box}.number-input-center:focus{border-color:rgba(var(--vsg-purple-rgb),.6);box-shadow:0 0 0 2px rgba(var(--vsg-purple-rgb),.15)}.number-step-btn--small{width:28px;height:28px;font-size:.9rem}.number-input-center--small{width:45px;height:28px;font-size:.85rem;padding:0 4px}.list-value-number-group{display:flex;align-items:center;gap:4px}.field-renderer input[type=number]::-webkit-inner-spin-button,.field-renderer input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.field-renderer input[type=number]{-moz-appearance:textfield}.number-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:#ffffffe6;font-size:1.2rem;cursor:pointer;transition:all .2s;flex-shrink:0}.number-btn:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.2);border-color:var(--vsg-purple)}.number-btn:active:not(:disabled){transform:scale(.95)}.number-btn:disabled{opacity:.4;cursor:not-allowed}.number-input{width:50px;text-align:center;flex-shrink:0;padding:.5rem .3rem}.dots-field{display:flex;gap:.5rem;flex-wrap:wrap}.dots-field-multi-row{display:flex;flex-direction:column;gap:4px}.dots-row{display:flex;gap:.5rem}.pool-field{display:flex;align-items:center}.pool-field-numeric{flex-direction:row;gap:.5rem}.pool-current-input{width:80px;text-align:center;padding:.5rem;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:#ffffffe6;font-size:1rem;font-weight:400}.pool-current-input:focus{outline:none;border-color:var(--vsg-purple)}.pool-separator{font-size:1.2rem;color:var(--text-secondary, rgba(255, 255, 255, .63));font-weight:400}.pool-max-display{font-size:1rem;color:var(--text-secondary, rgba(255, 255, 255, .63));font-weight:400}.pool-field-checkbox-rows{display:flex;flex-direction:column;width:100%}.pool-checkbox-row{display:flex;flex-direction:row;flex-wrap:nowrap}.pool-field-checkbox{flex-direction:row;flex-wrap:wrap}.boolean-field{display:flex;align-items:center;gap:.6rem;font-size:.95rem;color:var(--text-primary, rgba(255, 255, 255, .88));cursor:pointer;padding:.5rem 0}.boolean-field input[type=checkbox]{width:20px;height:20px;cursor:pointer}.select-input{cursor:pointer}.radio-field-group{display:flex;flex-direction:column;gap:.75rem}.radio-option{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background:#ffffff05;border:1px solid var(--border-color, rgba(var(--vsg-purple-rgb), .2));border-radius:6px;cursor:pointer;transition:all .2s}.radio-option:hover{background:#ffffff0a;border-color:var(--primary-color, var(--vsg-info))}.radio-option input[type=radio]{margin-right:.5rem}.option-desc{margin-left:1.75rem;font-size:.8rem;color:var(--text-secondary, rgba(255, 255, 255, .63));font-style:normal}.dice-input{flex:1}.calculated-field{display:flex;flex-direction:column;gap:.35rem}.calculated-input{background:rgba(var(--vsg-info-rgb),.1);border-color:rgba(var(--vsg-info-rgb),.3);font-weight:400;cursor:not-allowed}.formula-hint{font-size:.8rem;color:var(--text-secondary, rgba(255, 255, 255, .63));font-family:var(--font-primary)}.date-input{cursor:pointer}.image-field{display:flex;flex-direction:column;gap:.5rem}.image-preview{position:relative;max-width:300px}.image-preview img{width:100%;height:auto;border-radius:6px;border:1px solid var(--border-color, rgba(var(--vsg-purple-rgb), .2))}.image-remove{position:absolute;top:.5rem;right:.5rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#000000b3;border:none;border-radius:4px;color:#fff;font-size:1rem;cursor:pointer;transition:background .2s}.image-remove:hover{background:rgba(var(--vsg-error-rgb),.9)}.image-input-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.image-input-styled{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;background:#00000080;border:2px dashed rgba(var(--vsg-purple-rgb),.3);border-radius:8px;transition:border-color .2s}.image-input-styled:hover{border-color:rgba(var(--vsg-purple-rgb),.5)}.image-input-button{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;background:#000000e6;color:rgba(var(--vsg-purple-rgb),.8);border:.25px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;font-family:var(--font-primary);font-size:12px;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .3s ease;white-space:nowrap}.image-input-button:hover:not(.disabled){color:var(--vsg-purple);border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.15);transform:translateY(-1px)}.image-input-button.disabled{opacity:.5;cursor:not-allowed}.image-input-filename{color:#ffffff80;font-size:13px;font-style:normal}.image-portrait-placeholder{width:150px;aspect-ratio:3 / 4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;background:#0006;border:2px dashed rgba(var(--vsg-purple-rgb),.25);border-radius:8px}.portrait-placeholder-icon{font-size:2.5rem;opacity:.3;line-height:1}.portrait-placeholder-text{font-size:.8rem;color:#ffffff59;font-style:normal;text-align:center;padding:0 .5rem}.upload-hint{font-size:.8rem;color:var(--text-secondary, rgba(255, 255, 255, .63));font-style:normal}.list-field-prerendered{gap:.5rem}.list-slot{display:flex;align-items:center;width:100%}.list-slot-content{display:flex;align-items:center;gap:.75rem;width:100%}select.list-slot-label-select,.list-slot-label-text{min-width:150px;max-width:200px;padding:.4rem .6rem;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;background-color:#00000080;color:#ffffffe6;font-size:.9rem}select.list-slot-label-select{cursor:pointer}.list-slot-label-text{cursor:default}.list-slot-label-select:disabled{opacity:.6;cursor:not-allowed}.list-slot-value-wrapper{flex:1;display:flex;align-items:center}.list-slot-empty-value{color:var(--text-secondary, rgba(255, 255, 255, .53));font-style:normal}.list-slot-clear{background:none;border:none;color:var(--text-secondary, rgba(255, 255, 255, .53));cursor:pointer;padding:.25rem .5rem;font-size:1.2rem;line-height:1;transition:color .2s}.list-slot-clear:hover{color:var(--vsg-magenta)}.list-instances{display:flex;flex-direction:column;gap:.5rem}.list-instance{display:flex;align-items:center;gap:.5rem}.list-instance-content{display:flex;align-items:center;gap:.75rem;flex:1}.list-label-input,.list-label-select,.list-label-text{min-width:150px;max-width:200px;padding:.4rem .6rem;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;background-color:#00000080;color:#ffffffe6;font-size:.9rem}.list-label-select{cursor:pointer}.list-label-text{cursor:default}.list-value-wrapper{flex:1;display:flex;align-items:center}.list-value-pool{display:flex;align-items:center;gap:.3rem;white-space:nowrap}.list-value-pool .pool-current{width:50px;text-align:center;padding:.3rem;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;color:#ffffffe6;font-size:.9rem}.list-value-pool .pool-separator{font-size:1rem;color:var(--text-secondary, rgba(255, 255, 255, .63));font-weight:400}.list-value-pool .pool-max{font-size:.9rem;color:var(--text-secondary, rgba(255, 255, 255, .63));font-weight:400}.list-value-dots{display:flex;gap:.3rem;align-items:center}.field-content--advancement .field-input-row{display:flex;align-items:center;gap:.5rem}.field-advancement-controls{display:flex;align-items:center;gap:.35rem;margin-left:.25rem;flex-shrink:0}.field-advancement-controls.locked{opacity:.5}.advancement-step-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:4px;background:#00000080;color:var(--vsg-purple);font-size:.9rem;font-weight:400;cursor:pointer;transition:all .15s ease;padding:0;line-height:1}.advancement-step-btn:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.15);border-color:rgba(var(--vsg-purple-rgb),.6);box-shadow:0 0 8px rgba(var(--vsg-purple-rgb),.2)}.advancement-step-btn:disabled{opacity:.3;cursor:not-allowed}.advancement-step-btn--plus:not(:disabled){color:rgba(var(--vsg-success-rgb),.83);border-color:rgba(var(--vsg-success-rgb),.33)}.advancement-step-btn--plus:hover:not(:disabled){background:rgba(var(--vsg-success-rgb),.12);border-color:rgba(var(--vsg-success-rgb),.5);box-shadow:0 0 8px rgba(var(--vsg-success-rgb),.17)}.advancement-cost-label{font-size:.7rem;color:var(--text-secondary, rgba(255, 255, 255, .63));white-space:nowrap;min-width:40px;text-align:center}.advancement-lock-indicator{font-size:.75rem;cursor:help}.compound-field{display:flex;align-items:center;gap:.75rem;width:100%}.compound-name{flex:1;display:flex;align-items:center;gap:.25rem;min-width:0;overflow:hidden}.compound-name>.custom-dropdown,.compound-name>input{flex:1;min-width:0}.compound-name .custom-dropdown-trigger{overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap}.compound-name .custom-dropdown-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compound-value{flex:1;min-width:0}.compound-grid-name{display:flex;align-items:center;gap:.25rem;overflow:hidden}.compound-grid-name>.custom-dropdown,.compound-grid-name>input{flex:1;min-width:0}.compound-grid-name .custom-dropdown-trigger{overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap}.compound-value .dots-row{gap:.25rem}.compound-name .custom-dropdown,.compound-value .custom-dropdown{width:100%}.compound-name .number-field-group,.compound-value .number-field-group{width:auto}.compound-value .pool-field-checkbox,.compound-value .pool-field-checkbox-rows,.compound-value .pool-checkbox-row{gap:.15rem}.compound-unsupported{font-size:.8rem;color:#fff6;font-style:normal}.racial-bonus-section{display:flex;flex-direction:column;gap:.5rem;width:100%;margin-top:.25rem}.racial-bonus-divider{height:1px;background:rgba(var(--vsg-magenta-rgb),.15);margin:.25rem 0}.racial-bonus-header{font-size:.75rem;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:.75px;color:#ffffff80;text-align:center}.racial-bonus-rows{display:grid;gap:.375rem}.racial-bonus-row{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:.5rem;min-height:44px;background:rgba(var(--vsg-magenta-rgb),.05);border:1px solid rgba(var(--vsg-magenta-rgb),.15);border-radius:8px;transition:all .2s ease}.racial-bonus-row.fixed{border-color:rgba(var(--vsg-magenta-rgb),.25);background:rgba(var(--vsg-magenta-rgb),.08)}.racial-bonus-value{color:var(--vsg-magenta);font-size:.85rem;font-weight:400;font-variant-numeric:tabular-nums;min-width:28px;text-align:center;flex-shrink:0}.racial-bonus-label{font-size:.8rem;color:#ffffffb3;font-weight:400;text-align:center;line-height:1.2}.racial-bonus-locked{font-size:.7rem;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:.5px;color:rgba(var(--vsg-magenta-rgb),.5);flex-shrink:0}.racial-bonus-dropdown{width:100%;max-width:140px}.racial-bonus-dropdown .custom-dropdown-trigger{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roll-assign-step{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:.75rem 1rem;min-height:300px}.roll-assign-description{color:#ffffffd9;font-size:.95rem;text-align:center;max-width:480px;line-height:1.5;margin:0}.roll-assign-method-info{color:rgba(var(--vsg-purple-rgb),.55);font-size:.8rem;font-family:var(--font-primary);text-align:center;max-width:420px;line-height:1.4;margin:0}.roll-assign-pre-roll{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;flex:1;min-height:160px}.roll-assign-roll-btn{background:#000000e6;border:none;border-radius:10px;color:var(--vsg-purple);font-family:var(--font-primary);font-size:1.1rem;font-weight:400;padding:.75rem 2rem;cursor:pointer;transition:all .3s ease;letter-spacing:.75px;text-transform:uppercase;--glow-rest: var(--glow-button-rest);--glow-peak: var(--glow-button-peak);--glow-period: var(--glow-button-period)}.roll-assign-roll-btn:hover{background:rgba(var(--vsg-purple-rgb),.1);box-shadow:0 0 30px rgba(var(--vsg-purple-rgb),.3),0 0 60px rgba(var(--vsg-purple-rgb),.2);transform:translateY(-2px)}.roll-assign-or{font-size:.8rem;font-family:var(--font-primary);color:rgba(var(--vsg-purple-rgb),.4);text-transform:lowercase;letter-spacing:.5px}.roll-assign-standard-btn{background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:rgba(var(--vsg-purple-rgb),.8);font-family:var(--font-primary);font-size:.85rem;font-weight:400;padding:.5rem 1.25rem;cursor:pointer;transition:all .2s ease;letter-spacing:.5px}.roll-assign-standard-btn:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.5);color:var(--vsg-purple);box-shadow:0 0 12px rgba(var(--vsg-purple-rgb),.15)}.roll-assign-value-bar{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;width:100%;max-width:500px}.roll-value-chip{display:flex;align-items:center;justify-content:center;width:40px;height:36px;border-radius:8px;font-size:1rem;font-weight:400;font-variant-numeric:tabular-nums;transition:all .2s ease}.roll-value-chip.available{background:rgba(var(--vsg-purple-rgb),.12);border:1px solid rgba(var(--vsg-purple-rgb),.4);color:var(--vsg-purple)}.roll-value-chip.used{background:#ffffff08;border:1px solid rgba(255,255,255,.08);color:#fff3;text-decoration:line-through}.roll-assign-stat-rows{display:grid;grid-template-columns:repeat(var(--stat-cols, 1),1fr);gap:.5rem;width:100%}.roll-assign-stat-row{display:flex;align-items:center;gap:.75rem;padding:.65rem 1rem;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:8px;transition:all .2s ease}.roll-assign-stat-row.assigned{border-color:rgba(var(--vsg-purple-rgb),.45);background:rgba(var(--vsg-purple-rgb),.06);box-shadow:0 0 8px rgba(var(--vsg-purple-rgb),.1)}.roll-assign-stat-name{flex:1;font-size:.9rem;color:#ffffffd9;font-weight:400}.roll-assign-stat-value{font-size:1.1rem;font-weight:400;font-variant-numeric:tabular-nums;color:var(--vsg-purple);min-width:28px;text-align:center;flex-shrink:0}.roll-assign-stat-value.hidden{visibility:hidden}.roll-assign-stat-value.stat-bonused{color:var(--vsg-magenta)}.roll-assign-bonus-indicator{color:var(--vsg-magenta);font-size:.8em;font-family:var(--font-primary);font-weight:400;margin-left:-4px;margin-right:4px;opacity:.9;flex-shrink:0}.roll-assign-check{font-size:1rem;color:rgba(var(--vsg-purple-rgb),.85);font-weight:400;min-width:20px;text-align:center;flex-shrink:0}.roll-assign-check.hidden{visibility:hidden}.roll-assign-dropdown{width:100px;flex-shrink:0}.roll-assign-dropdown .custom-dropdown-trigger{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roll-assign-reroll-section{display:flex;align-items:center;justify-content:center;padding-top:.5rem}.roll-assign-reroll-btn{background:linear-gradient(135deg,rgba(var(--vsg-magenta-rgb),.2),rgba(var(--vsg-purple-rgb),.15));border:1px solid rgba(var(--vsg-magenta-rgb),.4);border-radius:6px;color:rgba(var(--vsg-magenta-rgb),.95);font-size:.8rem;font-weight:400;padding:.4rem 1rem;cursor:pointer;transition:all .2s ease}.roll-assign-reroll-btn:hover{background:linear-gradient(135deg,rgba(var(--vsg-magenta-rgb),.3),rgba(var(--vsg-purple-rgb),.25));border-color:rgba(var(--vsg-magenta-rgb),.6);box-shadow:0 0 10px rgba(var(--vsg-magenta-rgb),.15)}.roll-assign-reroll-btn:disabled{opacity:.5;cursor:not-allowed}.roll-assign-reroll-cooldown{font-size:.8rem;color:#fff6;text-align:center}.roll-assign-complete{font-size:.85rem;color:rgba(var(--vsg-purple-rgb),.85);text-align:center;padding:.5rem}.point-buy-step{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:.75rem 1rem;min-height:300px}.point-buy-description{color:#ffffffd9;font-size:.95rem;text-align:center;max-width:480px;line-height:1.5;margin:0}.point-buy-method-info{color:rgba(var(--vsg-purple-rgb),.55);font-size:.8rem;font-family:var(--font-primary);text-align:center;max-width:420px;line-height:1.4;margin:0}.point-buy-points-bar{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;max-width:500px;padding:.5rem 1rem;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:10px}.point-buy-points-label{font-size:.8rem;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:.5px;color:#ffffff80;flex-shrink:0}.point-buy-points-track{flex:1;height:6px;background:#ffffff14;border-radius:3px;overflow:hidden;min-width:80px}.point-buy-points-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--vsg-purple),rgba(var(--vsg-purple-rgb),.6));transition:width .3s ease}.point-buy-points-fill.overspent{background:linear-gradient(90deg,var(--vsg-error),rgba(var(--vsg-error-rgb),.6))}.point-buy-points-count{font-size:1rem;font-weight:400;font-variant-numeric:tabular-nums;color:var(--vsg-purple);flex-shrink:0;min-width:50px;text-align:center}.point-buy-points-count.overspent{color:var(--vsg-error)}.point-buy-points-status{font-size:.75rem;color:rgba(var(--vsg-purple-rgb),.7);flex-shrink:0;white-space:nowrap}.point-buy-points-status.complete{color:rgba(var(--vsg-purple-rgb),.85)}.point-buy-points-status.overspent{color:var(--vsg-error)}.point-buy-stat-rows{display:grid;grid-template-columns:repeat(var(--stat-cols, 1),1fr);gap:.5rem;width:100%}.point-buy-stat-row{display:flex;align-items:center;gap:.75rem;padding:.65rem 1rem;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:8px;transition:all .2s ease}.point-buy-stat-row.modified{border-color:rgba(var(--vsg-purple-rgb),.45);background:rgba(var(--vsg-purple-rgb),.06);box-shadow:0 0 8px rgba(var(--vsg-purple-rgb),.1)}.point-buy-stat-name{flex:1;font-size:.9rem;color:#ffffffd9;font-weight:400}.point-buy-stat-value{font-size:1.1rem;font-weight:400;font-variant-numeric:tabular-nums;color:var(--vsg-purple);min-width:28px;text-align:center;flex-shrink:0}.point-buy-stat-value.stat-bonused{color:var(--vsg-magenta)}.point-buy-bonus-indicator{color:var(--vsg-magenta);font-size:.8em;font-family:var(--font-primary);font-weight:400;margin-left:-4px;margin-right:4px;opacity:.9;flex-shrink:0}.point-buy-controls{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.point-buy-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;border:1px solid rgba(var(--vsg-purple-rgb),.3);background:#00000080;color:var(--vsg-purple);font-size:1rem;font-weight:400;cursor:pointer;transition:all .2s ease;padding:0;line-height:1}.point-buy-btn:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.12);border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 0 8px rgba(var(--vsg-purple-rgb),.15)}.point-buy-btn:disabled{opacity:.25;cursor:not-allowed;color:#ffffff4d;border-color:#ffffff14}.point-buy-cost{font-size:.7rem;font-variant-numeric:tabular-nums;color:#ffffff59;min-width:16px;text-align:center;flex-shrink:0}.point-buy-complete{font-size:.85rem;color:rgba(var(--vsg-purple-rgb),.85);text-align:center;padding:.5rem}.roll-assignment-panel{padding:.75rem;background:#0003;border-radius:8px;display:flex;flex-direction:column;gap:.75rem}.roll-before-state{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.5rem 0}.roll-dice-btn{background:#000000e6;border:none;border-radius:8px;color:var(--vsg-purple);font-family:var(--font-primary);font-size:.85rem;font-weight:400;padding:.5rem 1.25rem;cursor:pointer;transition:all .3s ease;letter-spacing:.5px;text-transform:uppercase;--glow-rest: var(--glow-button-rest);--glow-peak: var(--glow-button-peak);--glow-period: var(--glow-button-period)}.roll-dice-btn:hover{background:rgba(var(--vsg-purple-rgb),.1);box-shadow:0 0 30px rgba(var(--vsg-purple-rgb),.3),0 0 60px rgba(var(--vsg-purple-rgb),.2);transform:translateY(-1px)}.roll-or-divider{font-size:.75rem;color:#ffffff59;text-transform:lowercase}.roll-standard-array-btn{background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.25);border-radius:6px;color:#fff9;font-size:.75rem;padding:.35rem .75rem;cursor:pointer;transition:all .2s ease}.roll-standard-array-btn:hover{background:rgba(var(--vsg-purple-rgb),.08);border-color:rgba(var(--vsg-purple-rgb),.4);color:#ffffffd9}.roll-values-list{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.roll-value-card{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.5rem .25rem;border-radius:8px;transition:all .2s ease}.roll-value-card.unassigned{background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3)}.roll-value-card.assigned{background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.35);box-shadow:0 0 8px rgba(var(--vsg-purple-rgb),.1)}.roll-value-number{font-size:1.2rem;font-weight:400;font-variant-numeric:tabular-nums;color:#fffffff2}.roll-value-card.unassigned .roll-value-number{color:var(--vsg-purple)}.roll-stat-select{width:100%;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.25);border-radius:4px;color:#ffffffd9;font-size:.7rem;padding:.2rem .25rem;outline:none;cursor:pointer;transition:border-color .2s ease;text-align:center}.roll-stat-select:focus{border-color:var(--vsg-purple)}.roll-stat-select option{background:var(--vsg-surface);color:#ffffffe6}.roll-reroll-btn{align-self:center;background:linear-gradient(135deg,rgba(var(--vsg-magenta-rgb),.2),rgba(var(--vsg-purple-rgb),.15));border:1px solid rgba(var(--vsg-magenta-rgb),.4);border-radius:6px;color:rgba(var(--vsg-magenta-rgb),.95);font-size:.75rem;font-weight:400;padding:.35rem .85rem;cursor:pointer;transition:all .2s ease}.roll-reroll-btn:hover{background:linear-gradient(135deg,rgba(var(--vsg-magenta-rgb),.3),rgba(var(--vsg-purple-rgb),.25));border-color:rgba(var(--vsg-magenta-rgb),.6);box-shadow:0 0 10px rgba(var(--vsg-magenta-rgb),.15)}.roll-cooldown-msg{font-size:.8rem;color:#ffffff80;text-align:center;padding:.5rem}.roll-complete-msg{font-size:.75rem;color:rgba(var(--vsg-purple-rgb),.85);text-align:center}@media (max-width: 300px){.roll-values-list{grid-template-columns:repeat(2,1fr)}}.points-allocation-panel{position:absolute;right:1rem;top:.25rem;z-index:50;width:220px;max-height:none;overflow-y:auto;background:#000000e0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;box-shadow:0 8px 32px #00000080,0 0 20px rgba(var(--vsg-purple-rgb),.08);transition:all .25s ease}.points-allocation-panel.collapsed{max-height:44px;overflow:hidden}.points-allocation-panel::-webkit-scrollbar{width:6px}.points-allocation-panel::-webkit-scrollbar-track{background:transparent}.points-allocation-panel::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.25);border-radius:3px}.pa-header{display:flex;align-items:center;gap:.5rem;padding:.625rem .875rem;cursor:pointer;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15);transition:background .2s ease;-webkit-user-select:none;user-select:none}.pa-header:hover{background:rgba(var(--vsg-purple-rgb),.08)}.pa-title{margin:0;font-family:var(--font-primary);font-size:.85rem;color:#ffffffe6;letter-spacing:.5px;flex:1}.pa-summary-badge{font-size:.75rem;font-weight:400;color:rgba(var(--vsg-purple-rgb),.9);background:rgba(var(--vsg-purple-rgb),.15);padding:.15rem .5rem;border-radius:10px}.pa-collapse-toggle{font-size:.6rem;color:#fff6;transition:transform .25s ease}.pa-collapse-toggle.expanded{transform:rotate(180deg)}.pa-body{display:flex;flex-direction:column}.pa-row{border-bottom:1px solid rgba(var(--vsg-purple-rgb),.06)}.pa-row:last-child{border-bottom:none}.pa-row-summary{display:flex;align-items:center;gap:.5rem;padding:.5rem .875rem;cursor:pointer;transition:background .2s ease;-webkit-user-select:none;user-select:none}.pa-row-summary:hover{background:rgba(var(--vsg-purple-rgb),.06)}.pa-row-indicator{width:3px;height:20px;border-radius:2px;flex-shrink:0;transition:background .2s ease}.pa-row-indicator.active,.pa-row-indicator.complete{background:var(--vsg-purple)}.pa-row-indicator.overspent{background:var(--vsg-error)}.pa-row-indicator.inactive{background:rgba(var(--vsg-purple-rgb),.15)}.pa-row-name{font-size:.8rem;color:#ffffffd9;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.pa-row.inactive .pa-row-name{color:#fff6}.pa-row-bar{width:50px;height:4px;background:rgba(var(--vsg-purple-rgb),.1);border-radius:2px;overflow:hidden;flex-shrink:0}.pa-row-bar-fill{height:100%;border-radius:2px;transition:width .3s ease}.pa-row-bar-fill.active,.pa-row-bar-fill.complete{background:var(--vsg-purple)}.pa-row-bar-fill.overspent{background:var(--vsg-error)}.pa-row-bar-fill.inactive{background:rgba(var(--vsg-purple-rgb),.2)}.pa-row-count{font-size:.75rem;font-weight:400;font-variant-numeric:tabular-nums;min-width:45px;text-align:right;flex-shrink:0}.pa-row-count.active{color:#fffc}.pa-row-count.complete{color:rgba(var(--vsg-purple-rgb),.9)}.pa-row-count.overspent{color:var(--vsg-error)}.pa-row-count.inactive{color:#ffffff59}.pa-row-chevron{font-size:.55rem;color:#ffffff4d;transition:transform .2s ease;flex-shrink:0}.pa-row-chevron.expanded{transform:rotate(180deg)}.pa-row-detail{padding:0 .625rem .625rem}.pa-row-detail .batch-allocation-display,.pa-row-detail .pool-spending-display{padding:.75rem;margin:0;border-radius:8px}.pa-roll-summary{padding:.5rem .75rem;background:#0003;border-radius:8px}.pa-roll-values{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem}.pa-roll-value{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:.85rem;font-weight:400}.pa-roll-value.unassigned{background:rgba(var(--vsg-purple-rgb),.2);border:1px solid rgba(var(--vsg-purple-rgb),.4);color:var(--vsg-purple)}.pa-roll-value.assigned{background:rgba(var(--vsg-purple-rgb),.05);color:#ffffff4d;text-decoration:line-through}.pa-roll-status{font-size:.75rem;color:#ffffff80}@media (max-width: 900px){.points-allocation-panel{position:relative;top:auto;width:100%;max-height:none;border-radius:0;border-left:none;border-right:none;border-top:none}.pa-body{flex-direction:row;flex-wrap:wrap;overflow-x:auto}.pa-row{min-width:200px;flex:1;border-bottom:none;border-right:1px solid rgba(var(--vsg-purple-rgb),.06)}.pa-row:last-child{border-right:none}}:where(.points-allocation-panel) .batch-allocation-display{background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;padding:1rem}.batch-allocation-infeasible{background:rgba(var(--vsg-error-rgb),.1);border:1px solid rgba(var(--vsg-error-rgb),.3);color:var(--vsg-error);padding:.5rem .75rem;border-radius:4px;margin-bottom:.75rem;font-size:.8rem;font-weight:400;line-height:1.4}.allocation-title{margin:0 0 .5rem;font-size:.95rem;font-weight:400;color:#fffffff2}.allocation-description{margin:0 0 1rem;font-size:.8rem;color:#ffffff80}.batch-overview{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15)}.batch-labels{display:flex;gap:.5rem;order:2}.batch-label{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.85rem;font-weight:400}.batch-label.available{background:rgba(var(--vsg-purple-rgb),.2);color:var(--vsg-purple);border:1px solid rgba(var(--vsg-purple-rgb),.4)}.batch-label.claimed{background:#ffffff1a;color:#ffffff4d;text-decoration:line-through}.available-batches{font-size:.8rem;color:#fff9;order:1;text-align:center}.all-claimed{color:rgba(var(--vsg-purple-rgb),.8)}.group-status-list{display:flex;flex-direction:column;gap:.75rem}.group-status{padding:.75rem;background:rgba(var(--vsg-purple-rgb),.03);border-radius:8px}.group-status.overspent{background:rgba(var(--vsg-error-rgb),.1);border:1px solid rgba(var(--vsg-error-rgb),.3)}.group-info{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.dots-used{font-size:.8rem;color:#ffffff80}.batch-info{display:flex;align-items:center;justify-content:space-between;font-size:.8rem;margin-bottom:.5rem}.claimed-batch{color:#ffffffb3}.claimed-batch strong{color:var(--vsg-purple)}.remaining{color:rgba(var(--vsg-purple-rgb),.8)}.remaining.negative{color:var(--vsg-error);font-weight:400}.remaining.zero{color:#ffffff80}.undetermined{color:#fff6;font-style:normal}.batch-bar{height:4px;background:rgba(var(--vsg-purple-rgb),.1);border-radius:2px;overflow:hidden;position:relative}.batch-bar-fill{height:100%;background:var(--vsg-purple);border-radius:2px;transition:width .3s ease}.batch-bar-fill.overspent{background:var(--vsg-error)}.allocation-status{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(var(--vsg-purple-rgb),.15);font-size:.85rem;text-align:center}.allocation-status.complete{color:rgba(var(--vsg-purple-rgb),.9)}.allocation-status.incomplete{color:#ffffff80}:where(.points-allocation-panel) .pool-spending-display{background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;padding:1rem}:where(.points-allocation-panel) .pool-spending-display.overspent{border-color:rgba(var(--vsg-error-rgb),.4)}.pool-title{margin:0 0 .5rem;font-size:.95rem;font-weight:400;color:#fffffff2}.pool-description{margin:0 0 1rem;font-size:.8rem;color:#ffffff80}.pool-stats{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}:where(.points-allocation-panel) .pool-spending-display .stat{display:flex;flex-direction:row;justify-content:space-between;align-items:center}:where(.points-allocation-panel) .pool-spending-display .stat-label{font-size:.75rem;letter-spacing:.3px;color:#fff6}:where(.points-allocation-panel) .pool-spending-display .stat-value{font-size:.95rem;font-weight:400;color:#ffffffe6}:where(.points-allocation-panel) .pool-spending-display .stat.negative .stat-value{color:var(--vsg-error)}:where(.points-allocation-panel) .pool-spending-display .stat.zero .stat-value{color:#ffffff80}:where(.points-allocation-panel) .pool-spending-display .overspent-value{color:var(--vsg-error)}.pool-bar{height:6px;background:rgba(var(--vsg-purple-rgb),.1);border-radius:3px;overflow:hidden;margin-bottom:.75rem}.pool-bar-fill{height:100%;background:linear-gradient(90deg,var(--vsg-purple),var(--vsg-purple));border-radius:3px;transition:width .3s ease}.pool-bar-fill.overspent{background:linear-gradient(90deg,var(--vsg-error),var(--vsg-error))}.pool-status{font-size:.85rem;text-align:center}.pool-status.complete{color:rgba(var(--vsg-purple-rgb),.9)}.pool-status.in-progress{color:#fff9}.pool-status.error{color:var(--vsg-error)}.cost-curve-info{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(var(--vsg-purple-rgb),.15)}.cost-curve-info summary{font-size:.8rem;color:#ffffff80;cursor:pointer}.cost-table{display:grid;grid-template-columns:repeat(4,1fr);gap:.25rem;margin-top:.5rem}.cost-row{display:flex;justify-content:space-between;padding:.25rem .5rem;background:rgba(var(--vsg-purple-rgb),.03);border-radius:4px;font-size:.75rem}.cost-value{color:#ffffffb3}.cost-points{color:rgba(var(--vsg-purple-rgb),.8)}.pa-body{overflow-x:auto;-webkit-overflow-scrolling:touch}.exception-selection-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}.exception-selection-modal{position:relative;background:transparent;border-radius:12px;width:90%;max-width:500px;max-height:calc(80 * var(--vh-fit));overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3);border:1px solid rgba(var(--vsg-purple-rgb),.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeInUp .3s ease}.esm-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:rgba(var(--vsg-purple-rgb),.05);border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.esm-title{font-family:var(--font-primary);color:var(--vsg-purple);font-size:1.1rem;margin:0}.esm-content{padding:1.5rem;overflow-y:auto;flex:1}.esm-step-indicator{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}.esm-step-dots{display:flex;gap:6px}.esm-step-text{font-size:.8rem;color:#ffffff80}.esm-prompt{font-family:var(--font-primary);color:#ffffffe6;font-size:1rem;margin:0 0 1.25rem;line-height:1.5}.esm-options-list{border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:8px;overflow:hidden}.selection-option{display:flex;align-items:center;gap:12px;padding:12px 16px;background:rgba(var(--vsg-purple-rgb),.03);border-bottom:1px solid rgba(var(--vsg-purple-rgb),.08);cursor:pointer;transition:all .2s ease;font-family:var(--font-primary);color:#ffffffd9}.selection-option:last-child{border-bottom:none}.selection-option:hover{background:rgba(var(--vsg-purple-rgb),.08)}.selection-option.selected{background:rgba(var(--vsg-purple-rgb),.15);border-left:3px solid var(--vsg-purple);color:#fffffff2}.selection-option.disabled{opacity:.4;pointer-events:none}.selection-checkbox{width:18px;height:18px;border-radius:4px;border:1px solid rgba(var(--vsg-purple-rgb),.4);background:#00000080;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease}.selection-checkbox.checked{background:rgba(var(--vsg-purple-rgb),.3);border-color:var(--vsg-purple)}.selection-checkbox.checked:after{content:"✓";color:var(--vsg-purple);font-size:.7rem;font-weight:400}.selection-label{flex:1;font-size:.95rem}.selection-counter{text-align:center;margin-top:12px;font-family:var(--font-primary);font-size:.85rem}.count-badge{background:rgba(var(--vsg-purple-rgb),.2);color:var(--vsg-purple);padding:4px 12px;border-radius:20px;font-weight:400}.count-badge.complete{background:rgba(var(--vsg-purple-rgb),.3);border:1px solid rgba(var(--vsg-purple-rgb),.5)}.esm-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:rgba(var(--vsg-purple-rgb),.05);border-top:1px solid rgba(var(--vsg-purple-rgb),.2)}.esm-footer-right{display:flex;gap:.5rem}.esm-loading{display:flex;align-items:center;justify-content:center;padding:2rem 1rem;color:rgba(var(--vsg-purple-rgb),.6);font-family:var(--font-primary);font-size:.95rem;letter-spacing:.02em}.cfcm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}.cfcm-modal{position:relative;background:rgba(var(--vsg-surface-rgb),.98);border-radius:12px;width:90%;max-width:420px;display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3);border:1px solid rgba(var(--vsg-purple-rgb),.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeInUp .3s ease}.cfcm-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:rgba(var(--vsg-purple-rgb),.05);border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.cfcm-title{font-family:var(--font-primary);color:var(--vsg-purple);font-size:1.1rem;font-weight:300;margin:0;letter-spacing:.02em}.cfcm-content{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.cfcm-field{display:flex;flex-direction:column;gap:.5rem}.cfcm-label{font-family:var(--font-primary);font-size:.85rem;font-weight:400;color:#fff9;letter-spacing:.01em}.cfcm-input{padding:.6rem .75rem;background:#00000080;border:.25px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;color:var(--vsg-purple);font-family:var(--font-primary);font-size:.9rem;font-weight:400;outline:none;transition:border-color .2s ease,box-shadow .2s ease;width:80px;font-variant-numeric:tabular-nums}.cfcm-input:focus{border-color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.05);box-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.2),inset 0 0 5px rgba(var(--vsg-purple-rgb),.1)}.cfcm-input::placeholder{color:rgba(var(--vsg-purple-rgb),.4)}.cfcm-field .custom-dropdown-trigger{width:100%}.cfcm-custom-formula{margin-top:.5rem;width:100%}.cfcm-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid rgba(var(--vsg-purple-rgb),.15)}.cfcm-gear-btn{background:none;border:none;padding:2px;cursor:pointer;color:#ffffff40;transition:color .2s ease;display:flex;align-items:center;flex-shrink:0}.cfcm-gear-btn:hover{color:rgba(var(--vsg-purple-rgb),.7)}.creation-wizard{display:flex;flex-direction:column;height:100%;width:100%;background:var(--vsg-surface);color:#ffffffe6;overflow:hidden}.creation-wizard--no-rules{align-items:center;justify-content:center}.no-rules-message{text-align:center;padding:3rem 2rem;max-width:400px}.no-rules-icon{font-size:4rem;display:block;margin-bottom:1.5rem}.no-rules-message h3{margin:0 0 1rem;font-family:var(--font-primary);font-size:1.5rem;color:var(--vsg-purple)}.no-rules-message p{margin:0 0 1rem;color:#ffffffb3;line-height:1.6}.creation-wizard-header{padding:.5rem 1.5rem;background:#0000004d;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);flex-shrink:0;position:relative;z-index:10}.wizard-method-selector{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.wizard-method-selector .custom-dropdown{min-width:180px}.progress-text{font-size:.9rem;color:#ffffffb3}:where(.creation-wizard) .progress-bar{width:100%;overflow:hidden}:where(.creation-wizard) .progress-fill{height:100%;background:linear-gradient(90deg,var(--vsg-purple),var(--vsg-purple));border-radius:3px;transition:width .3s ease}.wizard-steps-indicator{display:flex;align-items:flex-start;gap:.75rem;padding:.35rem 1.5rem;background:#0003;position:relative}.wizard-steps-center{flex:1;display:flex;flex-direction:column;align-items:center;gap:.25rem;min-width:0}.wizard-steps-row{display:flex;align-items:center;justify-content:center;gap:.5rem;overflow-x:auto}.step-indicator{display:flex;align-items:center;gap:.35rem;padding:.25rem .65rem;border-radius:14px;background:rgba(var(--vsg-purple-rgb),.05);transition:all .2s ease;white-space:nowrap}.step-indicator.active{background:rgba(var(--vsg-purple-rgb),.2);border:1px solid rgba(var(--vsg-purple-rgb),.4)}.step-indicator.completed{background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3)}.step-indicator.completed .step-number{background:rgba(var(--vsg-purple-rgb),.3);color:var(--vsg-purple)}.step-indicator.active .step-number{background:var(--vsg-purple);color:#fff}:where(.creation-wizard) .step-name{font-size:.7rem;color:#ffffffb3}.step-indicator.active .step-name{color:#fffffff2}.creation-wizard-content{flex:1;display:flex;gap:1.5rem;padding:.25rem 2rem .5rem;overflow:hidden;min-height:0}.wizard-sidebar{width:280px;flex-shrink:0;display:flex;flex-direction:column;gap:1rem;overflow-y:auto}.wizard-main{flex:1;overflow-y:auto;overflow-x:hidden;padding:0 1rem;min-height:0}.wizard-main::-webkit-scrollbar{width:8px}.wizard-main::-webkit-scrollbar-track{background:#0000004d;border-radius:4px}.wizard-main::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.3);border-radius:4px}.wizard-main::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.5)}:where(.creation-wizard) .step-content--with-image{flex-direction:row;gap:1.5rem;align-items:flex-start}.field-group{margin-bottom:1.5rem}.group-title{margin:0 0 1rem;font-size:1rem;font-weight:400;color:rgba(var(--vsg-purple-rgb),.9);padding-bottom:.5rem;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.wizard-fields-simple{display:flex;flex-direction:column;gap:1rem}:where(.creation-wizard) .wizard-field{display:flex;align-items:center;gap:.5rem;overflow:hidden}:where(.creation-wizard) .wizard-field.locked{opacity:.6}.field-lock-reason{font-size:.8rem;color:rgba(var(--vsg-gold-rgb),.8);font-style:normal;margin-top:.25rem}@media (max-width: 900px){.creation-wizard-content{flex-direction:column}.wizard-sidebar{width:100%;flex-direction:row;flex-wrap:wrap;overflow-x:auto}}@media (max-width: 900px){.wizard-steps-indicator{flex-wrap:wrap;justify-content:center}.wizard-steps-indicator .points-allocation-panel{position:static;width:100%;max-width:400px;margin:0 auto}}@media (max-width: 600px){.creation-wizard-header{grid-template-columns:1fr;justify-items:center;gap:.5rem;padding-top:.75rem;padding-bottom:.75rem}.wizard-header-spacer{display:none}.wizard-method-selector{align-items:center}.wizard-steps-row{justify-content:flex-start}}.wizard-field-content{flex:1;min-width:0}.wizard-field-checkmark{width:18px;height:18px;min-width:18px;display:flex;align-items:center;justify-content:center;background:rgba(var(--vsg-purple-rgb),.2);border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:50%;font-size:.65rem;color:var(--vsg-purple);flex-shrink:0;visibility:hidden}.wizard-field-checkmark.visible{visibility:visible}.step-transition-enter{opacity:0;transform:translate(20px)}.step-transition-enter-active{opacity:1;transform:translate(0);transition:opacity .3s ease,transform .3s ease}.step-transition-exit{opacity:1;transform:translate(0)}.step-transition-exit-active{opacity:0;transform:translate(-20px);transition:opacity .3s ease,transform .3s ease}.batch-group-fields{margin:0 auto}.batch-columns{display:grid;gap:1.5rem}:where(.creation-wizard) .batch-column{background:rgba(var(--vsg-purple-rgb),.12);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;padding:1rem}:where(.creation-wizard) .batch-column.overspent{border-color:rgba(var(--vsg-purple-rgb),.6);background:rgba(var(--vsg-purple-rgb),.08)}@keyframes rejectFlash{0%,to{border-color:rgba(var(--vsg-purple-rgb),.2)}25%{border-color:rgba(var(--vsg-purple-rgb),.9);box-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.4)}50%{border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.2)}75%{border-color:rgba(var(--vsg-purple-rgb),.8);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.3)}}:where(.creation-wizard) .column-title{margin:0;font-size:1.1rem;font-weight:400;color:#fffffff2}.column-status{display:flex;align-items:center;gap:.5rem}.dots-count{font-size:.9rem;color:#ffffffb3}.batch-badge{padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:400;background:rgba(var(--vsg-purple-rgb),.2);color:var(--vsg-purple)}.batch-badge.over{background:rgba(var(--vsg-purple-rgb),.25);color:var(--vsg-purple)}.batch-badge.undetermined{background:rgba(var(--vsg-purple-rgb),.1);color:#ffffff80}.batch-column-fields{display:flex;flex-direction:column;gap:.75rem}.batch-field.locked{opacity:.5}.wizard-main .wizard-step{margin:0 auto}.wizard-fields-with-image{display:grid;grid-template-columns:auto 1fr;gap:1.5rem;align-items:start}.wizard-fields-image-col{width:240px;flex-shrink:0}.wizard-fields-text-col{display:flex;flex-direction:column;gap:1rem;flex:1;min-width:0}.wizard-validation-inline{margin-top:1.5rem;padding-right:0}.validation-panel{background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;padding:1rem}.validation-title{margin:0 0 .75rem;font-size:.95rem;font-weight:400;color:var(--vsg-purple)}.validation-section{display:flex;flex-direction:column;gap:.5rem}.validation-section.warnings{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(var(--vsg-purple-rgb),.15)}.validation-item{display:flex;align-items:flex-start;gap:.5rem;font-size:.85rem}.validation-item.error{color:var(--vsg-purple)}.validation-item.warning{color:rgba(var(--vsg-purple-rgb),.7)}.validation-message{line-height:1.4}@media (max-width: 900px){:where(.creation-wizard) .batch-allocation-display,:where(.creation-wizard) .pool-spending-display,.validation-panel{min-width:250px;flex:1}.batch-columns{grid-template-columns:1fr!important}:where(.creation-wizard) .step-content--with-image{flex-direction:column}.wizard-fields-image-col{width:100%}}:where(.creation-wizard) .wizard-navigation{display:flex;align-items:center;justify-content:space-between;padding:.3rem 2rem .2rem;background:#0000004d;border-top:1px solid rgba(var(--vsg-purple-rgb),.2)}.nav-left,.nav-right{display:flex;gap:1rem}.btn-back,.btn-next,.btn-complete{padding:6px 20px;border:none;border-radius:8px;font-family:var(--font-primary);font-size:11px;font-weight:400;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:all .3s ease;height:32px}.btn-back{background:#000000e6;color:rgba(var(--vsg-purple-rgb),.8);border:.25px solid rgba(var(--vsg-purple-rgb),.2)}.btn-back:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.btn-back:hover:not(:disabled){color:var(--vsg-purple);border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.15);transform:translateY(-1px)}.btn-next,.btn-complete{background:#000000e6;color:var(--vsg-purple);border:none}.btn-next:not(:disabled),.btn-complete:not(:disabled){--glow-rest: var(--glow-button-rest);--glow-peak: var(--glow-button-peak);--glow-period: var(--glow-button-period)}.btn-next:disabled,.btn-complete:disabled{--glow-play: paused}.btn-next:hover:not(:disabled),.btn-complete:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.1);box-shadow:0 0 30px rgba(var(--vsg-purple-rgb),.3),0 0 60px rgba(var(--vsg-purple-rgb),.2);transform:translateY(-2px)}.btn-next:disabled,.btn-complete:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none;animation:none}.nav-center{display:flex;align-items:center}:where(.creation-wizard) .btn-auto-fill{padding:10px 36px;border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:8px;background:#000000e6;color:var(--vsg-purple);font-family:var(--font-primary);font-size:13px;font-weight:400;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;transition:all .3s ease;height:40px;--glow-rest: var(--glow-button-rest);--glow-peak: var(--glow-button-peak);--glow-period: var(--glow-button-period)}:where(.creation-wizard) .btn-auto-fill:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.12);box-shadow:0 0 30px rgba(var(--vsg-purple-rgb),.3),0 0 60px rgba(var(--vsg-purple-rgb),.2);transform:translateY(-2px)}:where(.creation-wizard) .btn-auto-fill:disabled{opacity:.5;cursor:not-allowed;--glow-play: paused;transform:none;box-shadow:none}@media (max-width: 600px){:where(.creation-wizard) .wizard-navigation{flex-direction:column;gap:1rem}.nav-left,.nav-right{width:100%;justify-content:center}}.wizard-title-text{margin:0;font-family:var(--font-primary);font-size:1.5rem;color:var(--vsg-purple);letter-spacing:1px;text-align:center}.method-description{margin:0;font-size:.8rem;color:#ffffff80;text-align:right;max-width:280px}.free-mode-badge{background:rgba(var(--vsg-purple-rgb),.2);color:var(--vsg-purple);padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:400}.free-mode-description{margin:0;font-size:.9rem;color:#fff9}.wizard-navigation--free{display:flex;justify-content:space-between;align-items:center}.creation-wizard-content--free{padding:1.5rem 2rem;overflow:visible}.wizard-main--full{width:100%;max-width:1200px;margin:0 auto}:where(.creation-wizard) .wizard-section{background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.15),rgba(var(--vsg-purple-rgb),.08));border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;margin-bottom:1.5rem;overflow:visible;box-shadow:inset 0 0 30px rgba(var(--vsg-purple-rgb),.1)}:where(.creation-wizard) .wizard-section-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:rgba(var(--vsg-purple-rgb),.12);border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);cursor:pointer;transition:background .2s ease}:where(.creation-wizard) .wizard-section-header:hover{background:rgba(var(--vsg-purple-rgb),.18)}:where(.creation-wizard) .wizard-section-header h3{margin:0;font-family:var(--font-primary);font-size:1.1rem;color:#fffffff2}:where(.creation-wizard) .wizard-section-columns{display:grid;gap:1.5rem;padding:1.5rem}:where(.creation-wizard) .wizard-column-title{margin:0 0 1rem;font-size:.95rem;font-weight:400;color:rgba(var(--vsg-purple-rgb),.9);padding-bottom:.5rem;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}:where(.creation-wizard) .wizard-column-fields{display:grid;grid-template-columns:auto 1fr;grid-auto-rows:minmax(36px,auto);gap:.75rem 1rem;align-items:center}:where(.creation-wizard) .wizard-column-fields>.wizard-field-container.simple-field{display:contents}:where(.creation-wizard) .wizard-column-fields>.wizard-field-container.simple-field>.field-renderer{display:contents}:where(.creation-wizard) .wizard-column-fields>.wizard-field-container:not(.simple-field){grid-column:1 / -1}:where(.creation-wizard) .wizard-column-fields .field-heading{padding-bottom:0;font-size:.95rem;color:var(--vsg-purple);font-weight:400;line-height:1;margin:0}:where(.creation-wizard) .wizard-column-fields>.wizard-field-container.full-width:has(.field-heading){align-self:start;padding-top:.25rem}:where(.creation-wizard) .wizard-column-fields .compound-field{gap:1rem}@media (max-width: 600px){:where(.creation-wizard) .wizard-section-columns{grid-template-columns:1fr!important}}.wizard-main .custom-dropdown{z-index:1}.wizard-main .custom-dropdown.open{z-index:1000}.wizard-main .custom-dropdown-menu{z-index:9999}.available-rolls-display{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;padding:.75rem;background:#0003;border-radius:8px}.roll-value{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;font-size:1.1rem;font-weight:400;cursor:pointer;transition:all .2s ease}.roll-value.available{background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.3),rgba(var(--vsg-purple-rgb),.1));border:1px solid rgba(var(--vsg-purple-rgb),.5);color:var(--vsg-purple)}.roll-value.available:hover{transform:scale(1.1);box-shadow:0 4px 12px rgba(var(--vsg-purple-rgb),.3)}.roll-value.assigned{background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.15);color:#ffffff4d;cursor:default;text-decoration:line-through}.roll-value.selected{background:linear-gradient(135deg,var(--vsg-purple),var(--vsg-purple));border-color:transparent;color:#fff;transform:scale(1.1);box-shadow:0 4px 16px rgba(var(--vsg-purple-rgb),.4)}.roll-actions{display:flex;gap:.75rem;margin-bottom:1rem}.btn-roll,.btn-standard-array,.btn-reroll{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.85rem;font-weight:400;cursor:pointer;transition:all .2s ease}.btn-roll{background:#000000e6;color:var(--vsg-purple)}.btn-roll:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.1);transform:translateY(-1px);box-shadow:0 0 30px rgba(var(--vsg-purple-rgb),.3),0 0 60px rgba(var(--vsg-purple-rgb),.2)}.btn-standard-array{background:rgba(var(--vsg-purple-rgb),.1);color:#ffffffe6;border:1px solid rgba(var(--vsg-purple-rgb),.3)}.btn-standard-array:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.18)}.btn-reroll{background:rgba(var(--vsg-gold-rgb),.2);color:var(--vsg-gold);border:1px solid rgba(var(--vsg-gold-rgb),.4)}.btn-reroll:hover:not(:disabled){background:rgba(var(--vsg-gold-rgb),.3)}.btn-roll:disabled,.btn-standard-array:disabled,.btn-reroll:disabled{opacity:.4;cursor:not-allowed;transform:none}.character-sheet-selector{width:100%}.character-sheet-selector--loading,.character-sheet-selector--error,.character-sheet-selector--empty,.character-sheet-selector--auto{display:flex;align-items:center;justify-content:center;min-height:200px;padding:2rem}.character-sheet-selector__header{margin-bottom:1rem;padding:0 .5rem}.character-sheet-selector__title{margin:0 0 .25rem;font-size:1.1rem;color:#fffffff2}.character-sheet-selector__subtitle{margin:0;font-size:.85rem;color:#ffffff8c}.character-sheet-selector__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;padding:.5rem}.character-sheet-selector__item{cursor:pointer;transition:transform .2s ease}.character-sheet-selector__item:hover{transform:translateY(-2px)}.character-modal{max-width:650px;width:95%;max-height:calc(90 * var(--vh-fit));overflow-y:auto}.character-choice-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin:2rem 0}.character-choice-card{background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.05),rgba(var(--vsg-purple-rgb),.02));border:.25px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;padding:2rem;text-align:center;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #0000004d}.character-choice-card:hover{background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.15),rgba(var(--vsg-purple-rgb),.08));border-color:rgba(var(--vsg-purple-rgb),.6);transform:translateY(-4px);box-shadow:0 8px 24px rgba(var(--vsg-purple-rgb),.3)}.character-choice-card h3{font-family:var(--font-primary);color:var(--vsg-purple);margin-bottom:.75rem;font-size:1.1rem;font-weight:400;letter-spacing:1px;text-transform:uppercase}.character-choice-card p{color:#ffffffb3;font-size:.9rem;line-height:1.5}:where(.character-creation-surface) .character-avatar{width:60px;height:60px;border-radius:50%;object-fit:cover;border:2px solid rgba(var(--vsg-purple-rgb),.3)}:where(.character-creation-surface) .character-info{flex:1}.character-description{color:#ffffffb3;font-size:.9rem;margin:0}.character-status{display:inline-block;padding:.25rem .5rem;background:rgba(var(--vsg-gold-rgb),.2);color:var(--vsg-gold);border-radius:4px;font-size:.75rem;margin-top:.5rem}.selected-indicator{position:absolute;top:1rem;right:1rem;width:24px;height:24px;background:var(--vsg-success);color:#000;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:400;font-size:14px}.character-wizard{width:100%;padding:0;box-sizing:border-box;display:flex;flex-direction:column;gap:1rem}:where(.character-creation-surface) .progress-dot{width:12px;height:12px;border-radius:50%;background:rgba(var(--vsg-purple-rgb),.3);transition:all .3s ease}:where(.character-creation-surface) .progress-dot.active{background:var(--vsg-purple);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.5)}:where(.character-creation-surface) .progress-dot.completed{background:var(--vsg-success)}.character-form{display:flex;flex-direction:column;gap:1.5rem}:where(.character-creation-surface) .form-group label{font-family:var(--font-primary);color:var(--vsg-purple);font-weight:400;text-transform:uppercase}:where(.character-creation-surface) .form-group input:focus,:where(.character-creation-surface) .form-group textarea:focus{background:rgba(var(--vsg-purple-rgb),.1);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.2)}:where(.character-creation-surface) .form-group textarea{min-height:80px;resize:vertical}.avatar-upload{display:flex;flex-direction:column;align-items:center;gap:1rem}.avatar-preview{width:80px;height:80px;border-radius:50%;background:#00000080;border:2px solid rgba(var(--vsg-purple-rgb),.4);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;cursor:pointer;transition:all .3s ease;box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.1)}.avatar-preview:hover{border-color:var(--vsg-purple);box-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.3)}.avatar-preview img{width:100%;height:100%;object-fit:cover}:where(.character-creation-surface) .avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.upload-button{padding:.5rem 1rem;background:rgba(var(--vsg-purple-rgb),.15);border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:8px;color:var(--vsg-purple);cursor:pointer;font-family:var(--font-primary);font-size:.85rem;transition:all .2s ease}.upload-button:hover{background:rgba(var(--vsg-purple-rgb),.25);border-color:var(--vsg-purple)}.avatar-step-label{display:block;font-family:var(--font-primary);color:var(--vsg-purple);font-size:.85rem;font-weight:400;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem;text-align:center}.avatar-step-optional{color:#ffffff80;font-weight:400;text-transform:none}.avatar-step-error{margin-bottom:1rem}.avatar-upload-input{display:none}.avatar-step-hint{color:rgba(var(--vsg-purple-rgb),.6);font-size:.8rem;margin:0;text-align:center;line-height:1.5}.avatar-loading-spinner{width:24px;height:24px;border:2px solid rgba(var(--vsg-purple-rgb),.2);border-top-color:var(--vsg-purple);border-radius:50%;animation:avatarSpin 1s linear infinite}@keyframes avatarSpin{to{transform:rotate(360deg)}}.character-count{display:block;color:rgba(var(--vsg-purple-rgb),.5);font-size:.8rem;margin-top:.25rem;text-align:right}.official-npc-checkbox{padding:8px 12px;border:1px solid rgba(var(--vsg-magenta-rgb),.2);border-radius:8px;background:rgba(var(--vsg-magenta-rgb),.05);transition:background .2s ease,border-color .2s ease}.official-npc-checkbox:hover{background:rgba(var(--vsg-magenta-rgb),.1);border-color:rgba(var(--vsg-magenta-rgb),.35)}.character-modal-footer{display:flex;align-items:center;gap:12px;padding:16px 24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.03);justify-content:flex-end}.character-modal .character-modal-footer{flex-direction:row-reverse;justify-content:space-between;padding:16px 24px}.creation-wizard-fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;background:var(--vsg-surface)}.character-sheet-selection{padding:1rem 0}:where(.character-creation-surface) .character-list::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.3)}.character-modal::-webkit-scrollbar-thumb:hover,:where(.character-creation-surface) .character-list::-webkit-scrollbar-thumb:hover,.character-wizard::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.5)}.rule-set-selection{padding:1rem 0}.rule-set-selection-description{color:#fffc;font-size:1rem;margin-bottom:1.5rem;text-align:center}.rule-set-options{display:flex;flex-direction:column;gap:1rem}.rule-set-option{background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;padding:1.25rem;cursor:pointer;transition:all .2s ease}.rule-set-option:hover{border-color:rgba(var(--vsg-purple-rgb),.4);background:#0006}.rule-set-option.selected{border-color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.1);box-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.2)}.rule-set-option-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.rule-set-option-name{font-family:var(--font-primary);color:#fffffff2;font-size:1.1rem;font-weight:400;margin:0;display:flex;align-items:center;gap:.75rem}.rule-set-option.selected .rule-set-option-name{color:var(--vsg-purple)}.default-indicator{font-size:.75rem;font-weight:400;color:var(--vsg-success);font-family:var(--font-primary)}.rule-set-option-radio input[type=radio]{width:18px;height:18px;accent-color:var(--vsg-purple);cursor:pointer}.rule-set-option-description{color:#fff9;font-size:.9rem;margin:0 0 .75rem;line-height:1.5}.rule-set-option-stats{display:flex;gap:1rem;padding-top:.75rem;border-top:1px solid rgba(var(--vsg-purple-rgb),.1)}.rule-set-option-stats span{font-size:.8rem;color:rgba(var(--vsg-purple-rgb),.7);padding:.25rem .75rem;background:rgba(var(--vsg-purple-rgb),.1);border-radius:4px}.content-filter{display:flex;justify-content:center;align-items:center;gap:var(--chrome-gap-sm);margin:0;padding:0}.filter-toggle{display:flex;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;overflow:hidden}.filter-option{padding:var(--filter-pad);background:transparent;border:none;color:#fff9;font-family:var(--font-primary);font-size:var(--filter-label);font-weight:400;letter-spacing:.5px;cursor:pointer;transition:all .3s ease;text-transform:uppercase;position:relative}.filter-option:first-child{border-right:1px solid rgba(var(--vsg-purple-rgb),.3)}.filter-option:hover:not(.active){color:#fffc;background:rgba(var(--vsg-purple-rgb),.1)}.filter-option.active{color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.2);font-weight:400;text-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.5)}.filter-option.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--vsg-purple),transparent)}.content-filter-search-btn{position:relative;display:flex;align-items:center;justify-content:center;width:var(--filter-h);height:var(--filter-h);background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:#fff9;cursor:pointer;transition:all .3s ease;padding:0}.content-filter-search-btn:hover{color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.15)}.content-filter-search-btn.has-filters{color:var(--vsg-purple);border-color:rgba(var(--vsg-purple-rgb),.5);background:rgba(var(--vsg-purple-rgb),.15)}.content-filter-search-icon{width:var(--filter-icon);height:var(--filter-icon)}.content-filter-badge{position:absolute;top:-6px;right:-6px;min-width:var(--filter-badge);height:var(--filter-badge);padding:var(--filter-badge-pad);background:var(--vsg-purple);color:#fff;font-size:var(--filter-badge-label);font-weight:400;font-family:var(--font-primary);border-radius:20px;display:flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 0 8px rgba(var(--vsg-purple-rgb),.4)}.profile-friends-list{display:flex;flex-direction:column;gap:6px}.profile-friends-list.loading{min-height:100px}.loading-placeholder{height:100px;background:rgba(var(--vsg-purple-rgb),.05);border-radius:8px;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:.8}}.friends-empty{color:#fff6;font-size:14px}.friends-items{display:flex;flex-direction:column;gap:4px}.friend-item{display:flex;align-items:center;gap:10px;padding:6px 10px;background:rgba(var(--vsg-purple-rgb),.03);border:1px solid rgba(var(--vsg-purple-rgb),.1);border-radius:8px;cursor:pointer;transition:all .2s ease}.friend-item:hover{background:rgba(var(--vsg-purple-rgb),.08);border-color:rgba(var(--vsg-purple-rgb),.25)}.friend-avatar{flex-shrink:0}.friend-info{display:flex;flex-direction:column;gap:2px;min-width:0}.friend-name{font-family:var(--font-primary);font-size:14px;color:#fffffff2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.friend-status{display:flex;align-items:center;gap:6px;font-size:12px}.friend-status.online{color:var(--vsg-success)}.friend-status.offline{color:#fff6}:where(.profile-friends-list) .status-dot{border-radius:50%}:where(.profile-friends-list) .status-dot.online{background:var(--vsg-success)}.view-all-friends-btn{margin-top:4px;align-self:flex-start}.friends-count-only{padding:16px;text-align:center}.friend-actions{display:flex;flex-direction:column;gap:2px;margin-left:auto;flex-shrink:0}.block-icon{display:inline-flex;align-items:center;justify-content:center;padding:4px;border:none;border-radius:6px;background:transparent;color:var(--vsg-magenta);cursor:default;transition:all .2s ease}.block-icon-medium{width:32px;height:32px}.block-icon-small{width:24px;height:24px}.block-icon.clickable{cursor:pointer}.block-icon.clickable:hover{background:rgba(var(--vsg-magenta-rgb),.15);color:var(--vsg-magenta);transform:scale(1.1)}.block-icon.clickable:active{transform:scale(.95)}.block-icon.disabled,.block-icon:disabled{opacity:.4;cursor:not-allowed}.block-icon.loading .block-svg{animation:block-shake .4s ease-in-out infinite}@keyframes block-shake{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.block-icon-medium .block-svg{width:20px;height:20px}.block-icon-small .block-svg{width:16px;height:16px}.friends-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.friends-modal{background:transparent;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;width:90%;max-width:500px;height:500px;display:flex;flex-direction:column;box-shadow:0 0 40px rgba(var(--vsg-purple-rgb),.2)}.friends-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);flex-shrink:0}.friends-modal-header h2{font-family:var(--font-primary);font-size:18px;color:var(--vsg-purple);margin:0;text-transform:uppercase;letter-spacing:1px}.friends-modal-header-right{display:flex;align-items:center;gap:12px}.friends-search-input{background:#ffffff0d;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:6px;padding:6px 12px;font-size:13px;color:#ffffffe6;width:150px;transition:all .2s ease}.friends-search-input::placeholder{color:#fff6}.friends-search-input:focus{outline:none;border-color:rgba(var(--vsg-purple-rgb),.4);background:#ffffff14}.friends-modal-tabs{display:flex;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15);flex-shrink:0}.tab-btn{flex:1;background:none;border:none;padding:12px 8px;font-family:var(--font-primary);font-size:11px;color:#ffffff80;cursor:pointer;transition:all .2s ease;position:relative}.tab-btn:hover{color:#fffc;background:rgba(var(--vsg-purple-rgb),.05)}.tab-btn.active{color:var(--vsg-purple)}.tab-btn.active:after{content:"";position:absolute;bottom:0;left:20%;right:20%;height:2px;background:var(--vsg-purple);border-radius:1px}.friends-modal-content{flex:1;overflow-y:auto;padding:16px;min-height:0}:where(.friends-modal-overlay) .loading-state{display:flex;justify-content:center}:where(.friends-modal-overlay) .empty-state{text-align:center}.friends-list,.requests-list,.blocked-list{display:flex;flex-direction:column;gap:8px}.friend-card,.request-card,.blocked-card{display:flex;align-items:center;gap:12px;padding:12px 14px;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:8px;transition:all .2s ease}.friend-card:hover,.request-card:hover,.blocked-card:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.25)}.friend-card-main{display:flex;align-items:center;gap:12px;flex:1;cursor:pointer;min-width:0}.friend-card-info,.request-card-info,.blocked-card-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.friend-card-name,.request-card-name,.blocked-card-name{font-family:var(--font-primary);font-size:14px;color:#fffffff2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.friend-card-username,.request-card-username,.blocked-card-username{font-size:12px;color:rgba(var(--vsg-purple-rgb),.6)}.friend-card-status,.request-card-status{display:flex;align-items:center;gap:6px;font-size:11px;color:#fff6}.friend-card-status.online{color:var(--vsg-success)}:where(.friends-modal-overlay) .status-dot{width:6px;height:6px;border-radius:50%}:where(.friends-modal-overlay) .status-dot.online{background:var(--vsg-success);box-shadow:0 0 4px rgba(var(--vsg-success-rgb),.5)}.friend-card-actions,.request-card-actions,.blocked-card-actions{display:flex;gap:8px;flex-shrink:0}.friend-card-actions.stacked{flex-direction:column;gap:2px}.unblock-btn{width:24px;height:24px;border-radius:4px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0;background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple)}.unblock-btn:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.3);color:var(--vsg-purple)}.unblock-btn:disabled{opacity:.5;cursor:not-allowed}.friends-modal-content::-webkit-scrollbar{width:6px}.friends-modal-content::-webkit-scrollbar-track{background:#0003}.friends-modal-content::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.3);border-radius:3px}.friends-modal-content::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.5)}.add-friend-button-group{display:flex;align-items:center;gap:10px}.friends-status{font-family:var(--font-primary);font-size:12px;color:var(--vsg-success);text-transform:uppercase;letter-spacing:.5px}.request-sent-status{font-family:var(--font-primary);font-size:12px;color:rgba(var(--vsg-purple-rgb),.7);text-transform:uppercase;letter-spacing:.5px}.add-friend-icon-btn{position:relative;background:transparent;border:none;color:var(--vsg-purple);width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;border-radius:6px}.add-friend-icon-btn:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple-bright)}.add-friend-icon-btn:disabled{opacity:.5;cursor:not-allowed}.add-friend-icon-btn svg{stroke:currentColor}.add-friend-icon-btn .icon-badge{position:absolute;top:-4px;right:-4px;background:var(--vsg-purple);color:#fff;font-size:9px;font-weight:400;padding:1px 4px;border-radius:8px;min-width:14px;text-align:center;box-shadow:0 2px 4px #0000004d}.add-friend-icon-btn .icon-loading{font-size:12px;color:rgba(var(--vsg-purple-rgb),.6)}.add-friend-icon-btn.is-friend{color:var(--vsg-success)}.add-friend-icon-btn.is-friend:hover:not(:disabled){background:rgba(var(--vsg-success-rgb),.15);color:var(--vsg-success)}.add-friend-icon-btn.request-sent{color:rgba(var(--vsg-purple-rgb),.6)}.add-friend-icon-btn.request-sent:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.1);color:rgba(var(--vsg-purple-rgb),.8)}.add-friend-icon-btn.has-request{color:var(--vsg-purple);animation:pulse-request 1.5s ease-in-out infinite}@keyframes pulse-request{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.pm-typing-indicator{height:20px;display:flex;align-items:center;gap:6px;padding:0 12px;font-family:var(--font-primary);font-size:12px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.7);transition:opacity .3s ease}.pm-typing-indicator__dots{display:inline-flex;gap:3px;align-items:center}.pm-typing-indicator__dot{width:4px;height:4px;border-radius:50%;background:rgba(var(--vsg-purple-rgb),.6);animation:pm-typing-bounce 1.4s ease-in-out infinite}.pm-typing-indicator__dot:nth-child(2){animation-delay:.2s}.pm-typing-indicator__dot:nth-child(3){animation-delay:.4s}@keyframes pm-typing-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.pm-typing-indicator__text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.read-receipt{font-family:var(--font-primary);font-size:11px;font-weight:400;margin-left:4px;letter-spacing:-1px}.read-receipt--delivered{color:#fff6}.read-receipt--read{color:var(--vsg-purple)}.image-display{margin-top:12px;width:100%}.image-grid{display:grid;gap:8px;border-radius:8px;overflow:hidden}.image-grid-single{grid-template-columns:1fr;max-width:600px}.image-grid-single .image-item{max-height:600px;aspect-ratio:auto}.image-grid-single .image-thumbnail{object-fit:contain;height:auto;max-height:600px}.image-grid-two{grid-template-columns:repeat(2,1fr)}.image-grid-two .image-item{aspect-ratio:1}.image-grid-three{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr)}.image-grid-three .image-item:first-child{grid-row:span 2;aspect-ratio:1}.image-grid-three .image-item:not(:first-child){aspect-ratio:1}.image-grid-four-plus{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr)}.image-grid-four-plus .image-item{aspect-ratio:1}.image-item{position:relative;overflow:hidden;background:#ffffff0d;border-radius:6px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.image-item:hover{transform:scale(1.02);box-shadow:0 4px 12px #0000004d}.image-thumbnail{width:100%;height:100%;object-fit:cover;display:block}.image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.image-count{font-size:32px;font-weight:400;color:#fff}@media (max-width: 600px){.image-grid-single{max-width:100%}.image-grid-single .image-item,.image-grid-single .image-thumbnail{max-height:500px}.image-grid-three{grid-template-columns:1fr;grid-template-rows:auto}.image-grid-three .image-item:first-child{grid-row:span 1}.image-count{font-size:24px}}@media (prefers-color-scheme: light){.image-item{background:#0000000d}.image-item:hover{box-shadow:0 4px 12px #00000026}}.image-lightbox{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:lightbox-fade-in .2s ease-out}@keyframes lightbox-fade-in{0%{opacity:0}to{opacity:1}}.lightbox-close{position:absolute;top:20px;right:20px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:none;border-radius:50%;color:#fff;font-size:28px;cursor:pointer;transition:all .2s ease;z-index:10001}.lightbox-close:hover{background:#fff3;transform:scale(1.1)}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:none;border-radius:50%;color:#fff;font-size:48px;cursor:pointer;transition:all .2s ease;z-index:10001}.lightbox-nav:hover{background:#fff3;transform:translateY(-50%) scale(1.1)}.lightbox-prev{left:20px}.lightbox-next{right:20px}.lightbox-image-container{max-width:calc(90 * var(--vw-fit));max-height:calc(90 * var(--vh-fit));display:flex;align-items:center;justify-content:center}.lightbox-image{max-width:100%;max-height:calc(90 * var(--vh-fit));object-fit:contain;border-radius:8px;animation:image-zoom-in .3s ease-out}@keyframes image-zoom-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.lightbox-counter{position:absolute;bottom:20px;left:50%;transform:translate(-50%);padding:8px 16px;background:#000000b3;border-radius:20px;color:#fff;font-size:14px;font-weight:400;z-index:10001}@media (max-width: 600px){.lightbox-close{top:10px;right:10px;width:40px;height:40px;font-size:24px}.lightbox-nav{width:48px;height:48px;font-size:36px}.lightbox-prev{left:10px}.lightbox-next{right:10px}.lightbox-image-container{max-width:calc(95 * var(--vw-fit));max-height:calc(85 * var(--vh-fit))}.lightbox-counter{bottom:10px;font-size:12px;padding:6px 12px}}body:has(.image-lightbox){overflow:hidden}.messages-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.messages-modal{background:transparent;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:12px;width:90%;max-width:800px;height:calc(80 * var(--vh-fit));display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3)}.messages-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:rgba(var(--vsg-purple-rgb),.05);border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.messages-modal-header h2{font-family:var(--font-primary);font-size:18px;color:var(--vsg-purple);margin:0;text-transform:uppercase;letter-spacing:1px}.messages-modal-body{display:flex;flex:1;overflow:hidden}.conversations-panel{width:280px;border-right:1px solid rgba(var(--vsg-purple-rgb),.15);display:flex;flex-direction:column;overflow-y:auto}.conversations-list{display:flex;flex-direction:column}.conversation-item{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background .2s ease;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.08)}.conversation-item:hover{background:rgba(var(--vsg-purple-rgb),.08)}.conversation-item.active{background:rgba(var(--vsg-purple-rgb),.15);border-left:3px solid var(--vsg-purple)}.conversation-item.unread{background:rgba(var(--vsg-purple-rgb),.05)}.conversation-item.unread .conversation-name{font-weight:400}.conversation-info{flex:1;min-width:0}.conversation-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.conversation-name{font-family:var(--font-primary);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-time{font-size:10px;color:#fff6;flex-shrink:0}.conversation-preview{font-size:12px;color:#ffffff80;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.you-prefix{color:rgba(var(--vsg-purple-rgb),.6)}.unread-badge{background:var(--vsg-purple);color:#fff;font-size:10px;font-weight:400;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center;flex-shrink:0}.thread-panel{flex:1;display:flex;flex-direction:column;overflow:hidden}.no-conversation-selected{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff6}.placeholder-icon{font-size:48px;margin-bottom:16px;opacity:.5}:where(.messages-modal-overlay) .thread-header{padding:12px 16px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15);display:flex;align-items:center;justify-content:space-between}.thread-header-actions{display:flex;gap:8px}:where(.messages-modal-overlay) .delete-confirm-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10;border-radius:12px}.delete-confirm-modal{background:#000000fa;border:1px solid rgba(var(--vsg-error-rgb),.4);border-radius:8px;padding:20px;max-width:320px;box-shadow:0 4px 20px #0006}.delete-confirm-text{color:#ffffffe6;font-size:14px;line-height:1.5;margin:0 0 16px}.delete-confirm-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;margin-bottom:16px}.delete-confirm-checkbox span{color:#ffffffb3;font-size:13px}:where(.messages-modal-overlay) .delete-confirm-actions{display:flex;justify-content:flex-end;gap:8px}.thread-user{display:flex;align-items:center;gap:12px;cursor:pointer}.thread-user:hover .thread-user-name{color:var(--vsg-purple)}.thread-user-info{display:flex;flex-direction:column;gap:2px}.thread-user-name{font-family:var(--font-primary);font-size:14px;transition:color .2s ease}.thread-user-status{display:flex;align-items:center;gap:4px;font-size:11px;color:#fff6}.thread-user-status.online{color:var(--vsg-success)}.messages-container{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px}.message-bubble{max-width:70%;padding:10px 14px;border-radius:16px;word-break:break-word}.message-bubble.sent{align-self:flex-end;background:rgba(var(--vsg-purple-rgb),.25);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-bottom-right-radius:4px}.message-bubble.received{align-self:flex-start;background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-bottom-left-radius:4px}:where(.messages-modal-overlay) .message-content{font-size:14px;color:#ffffffe6;line-height:1.4;white-space:pre-wrap}:where(.messages-modal-overlay) .message-time{font-size:10px;color:#fff6;margin-top:4px;text-align:right}.message-bubble.received .message-time{text-align:left}.message-input-container{display:flex;gap:10px;padding:12px 16px;border-top:1px solid rgba(var(--vsg-purple-rgb),.15);background:rgba(var(--vsg-purple-rgb),.05)}.message-input{flex:1;background:#ffffff0d;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:20px;padding:10px 16px;font-size:14px;color:#ffffffe6;resize:none;max-height:100px;font-family:inherit}.message-input::placeholder{color:#fff6}.message-input:focus{outline:none;border-color:rgba(var(--vsg-purple-rgb),.4)}.message-input-container .button{flex-shrink:0}.messages-disabled{padding:16px;text-align:center;color:#fff6;border-top:1px solid rgba(var(--vsg-purple-rgb),.15)}:where(.messages-modal-overlay) .empty-state{text-align:center}.conversations-panel::-webkit-scrollbar,.messages-container::-webkit-scrollbar{width:6px}.conversations-panel::-webkit-scrollbar-track,.messages-container::-webkit-scrollbar-track{background:#0003}.conversations-panel::-webkit-scrollbar-thumb,.messages-container::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.3);border-radius:3px}.conversations-panel::-webkit-scrollbar-thumb:hover,.messages-container::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.5)}.message-images{margin-bottom:8px;max-width:300px}.message-images .image-display-grid{border-radius:8px;overflow:hidden}.message-input-wrapper{border-top:1px solid rgba(var(--vsg-purple-rgb),.15);background:rgba(var(--vsg-purple-rgb),.05)}.message-input-wrapper .message-input-container{border-top:none;background:transparent}.message-image-previews{display:flex;gap:8px;padding:12px 16px 0;flex-wrap:wrap}.preview-image-item{position:relative;width:60px;height:60px;border-radius:8px;overflow:hidden;border:1px solid rgba(var(--vsg-purple-rgb),.3)}.preview-image-item img{width:100%;height:100%;object-fit:cover}.attach-image-btn{width:36px;height:36px;border-radius:50%;border:none;background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.attach-image-btn:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.25)}.attach-image-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 600px){.messages-modal{max-width:100%;height:100%;border-radius:0}.conversations-panel{width:100%;display:none}.messages-modal-body.show-conversations .conversations-panel{display:flex}.messages-modal-body.show-conversations .thread-panel{display:none}.message-images{max-width:200px}}.notifications-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.notifications-modal{background:transparent;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:12px;width:90%;max-width:480px;height:calc(80 * var(--vh-fit));display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3)}.notifications-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:rgba(var(--vsg-purple-rgb),.05);border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.notifications-modal-header h2{font-family:var(--font-primary);font-size:18px;color:var(--vsg-purple);margin:0;text-transform:uppercase;letter-spacing:1px}:where(.notifications-modal-overlay) .header-actions{display:flex;align-items:center}.header-action-btn{background:none;border:none;color:rgba(var(--vsg-purple-rgb),.7);font-size:12px;cursor:pointer;padding:4px 8px;transition:color .2s ease}.header-action-btn:hover:not(:disabled){color:var(--vsg-purple)}.header-action-btn:disabled{opacity:.5;cursor:not-allowed}.close-btn{background:none;border:none;color:#fff9;font-size:24px;cursor:pointer;padding:0;line-height:1;transition:color .2s ease}.close-btn:hover{color:var(--vsg-purple)}.notifications-modal-content{flex:1;overflow-y:auto}:where(.notifications-modal-overlay) .loading-state{display:flex;justify-content:center}:where(.notifications-modal-overlay) .empty-state{text-align:center}.notifications-list{display:flex;flex-direction:column}.notification-item{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;cursor:pointer;transition:background .2s ease;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.08)}.notification-item:hover{background:rgba(var(--vsg-purple-rgb),.08)}.notification-item.unread{background:rgba(var(--vsg-purple-rgb),.05);border-left:3px solid var(--vsg-purple)}.notification-item.read{opacity:.7}.notification-icon{font-size:20px;flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:rgba(var(--vsg-purple-rgb),.1);border-radius:8px}.notification-content{flex:1;min-width:0}.notification-title{font-family:var(--font-primary);font-size:13px;color:#fffffff2;font-weight:400;margin-bottom:4px}.notification-item.unread .notification-title{color:var(--vsg-purple)}.notification-time{font-size:10px;color:#fff6;flex-shrink:0;min-width:50px;text-align:right}.notification-body{font-size:12px;color:#fff9;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-actions{display:flex;gap:4px;flex-shrink:0;width:56px;justify-content:flex-end}:where(.notifications-modal-overlay) .action-btn{cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}:where(.notifications-modal-overlay) .action-btn:disabled{cursor:not-allowed}.notifications-footer{padding:12px 16px;background:rgba(var(--vsg-purple-rgb),.05);border-top:1px solid rgba(var(--vsg-purple-rgb),.15);display:flex;justify-content:center}.notifications-modal-content::-webkit-scrollbar{width:6px}.notifications-modal-content::-webkit-scrollbar-track{background:#0003}.notifications-modal-content::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.3);border-radius:3px}.notifications-modal-content::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.5)}.global-analysis-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.global-analysis-modal-content{background:linear-gradient(135deg,rgba(var(--vsg-surface-rgb),.98),rgba(var(--vsg-surface-rgb),.98));border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;width:90%;max-width:600px;max-height:calc(80 * var(--vh-fit));display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.2)}.global-analysis-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05)}.global-analysis-modal-title-section{display:flex;align-items:center;gap:16px}.global-analysis-modal-avatar{flex-shrink:0}.global-analysis-modal-title-text h2{font-family:var(--font-primary);font-size:20px;margin:0 0 4px}.global-analysis-modal-subtitle{font-size:12px;color:rgba(var(--vsg-purple-rgb),.7);margin:0;font-style:normal}.global-analysis-modal-actions{display:flex;align-items:center;gap:8px}.global-analysis-delete-btn{background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:6px;padding:6px 8px;cursor:pointer;color:var(--vsg-purple);display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-size:16px;line-height:1}.global-analysis-delete-btn:hover{background:rgba(var(--vsg-purple-rgb),.15);border-color:var(--vsg-purple)}.global-analysis-delete-btn:active{transform:scale(.95)}.global-analysis-modal-body{flex:1;overflow-y:auto;padding:24px}.global-analysis-source-badge{display:inline-block;background:rgba(var(--vsg-purple-rgb),.15);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:16px;padding:6px 14px;font-size:12px;color:var(--vsg-purple);margin-bottom:24px;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:.5px}.global-analysis-section{margin-bottom:24px}.global-analysis-section:last-child{margin-bottom:0}.global-analysis-section h3{font-family:var(--font-primary);font-size:14px;color:var(--vsg-purple);text-transform:uppercase;letter-spacing:1px;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15)}.global-analysis-text{font-size:14px;color:#ffffffd9;line-height:1.6;margin:0;white-space:pre-wrap}.global-analysis-tags{display:flex;flex-wrap:wrap;gap:8px}.global-analysis-tag{display:inline-block;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.25);border-radius:16px;padding:6px 12px;font-size:12px;color:rgba(var(--vsg-purple-rgb),.9);transition:all .2s ease}.global-analysis-tag:hover{background:rgba(var(--vsg-purple-rgb),.15);border-color:rgba(var(--vsg-purple-rgb),.4)}.global-analysis-games{display:flex;flex-direction:column;gap:8px}.global-analysis-game-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#0003;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:8px}.global-analysis-game-item .game-name{font-size:13px;color:#ffffffe6}.global-analysis-game-item .game-role{font-size:11px;padding:3px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.5px;font-weight:400}.global-analysis-game-item .game-role.gm{background:rgba(var(--vsg-gold-rgb),.15);color:var(--vsg-gold);border:1px solid rgba(var(--vsg-gold-rgb),.3)}.global-analysis-game-item .game-role.player{background:rgba(var(--vsg-success-rgb),.15);color:var(--vsg-success);border:1px solid rgba(var(--vsg-success-rgb),.3)}.global-analysis-loading{display:flex;justify-content:center;align-items:center;padding:60px 20px}.global-analysis-error{text-align:center;padding:60px 20px}.global-analysis-error p{color:#fff9;font-size:14px;margin:0}.global-analysis-modal-body::-webkit-scrollbar{width:6px}.global-analysis-modal-body::-webkit-scrollbar-track{background:#0003}.global-analysis-modal-body::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.3);border-radius:3px}.global-analysis-modal-body::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.5)}.global-analysis-modal-content .modal-close-btn{background:none;border:none;color:#fff9;font-size:28px;cursor:pointer;padding:0;line-height:1;transition:color .2s ease}.global-analysis-modal-content .modal-close-btn:hover{color:var(--vsg-purple)}.global-analysis-sources-list{display:flex;flex-direction:column;gap:12px}.global-analysis-source-item{background:#0003;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:8px;padding:14px;transition:border-color .2s ease}.global-analysis-source-item:hover{border-color:rgba(var(--vsg-purple-rgb),.3)}.source-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.source-game-name{font-size:16px;font-weight:400;color:#fffffff2}.source-item-header .game-role{font-size:13px;padding:4px 10px}.source-item-summary{font-size:15px;color:#ffffffd9;line-height:1.6;margin:0 0 12px}.source-item-interests{display:flex;flex-wrap:wrap;gap:6px}.global-analysis-tag.small{font-size:14px;padding:6px 12px}.global-analysis-tag.small.more{background:#ffffff1a;border-color:#fff3;color:#fff9}.global-analysis-action-row{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:24px;padding-top:20px;border-top:1px solid rgba(var(--vsg-purple-rgb),.15)}.global-analysis-synthesize-btn,.global-analysis-reanalyze-btn{background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.2),rgba(var(--vsg-purple-rgb),.16));border:1px solid var(--vsg-purple);border-radius:8px;color:var(--vsg-purple);font-family:var(--font-primary);font-size:14px;letter-spacing:1px;text-transform:uppercase;padding:12px 28px;cursor:pointer;transition:all .2s ease}.global-analysis-synthesize-btn:hover:not(:disabled),.global-analysis-reanalyze-btn:hover{background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.35),rgba(var(--vsg-purple-rgb),.27));border-color:var(--vsg-purple);transform:translateY(-1px);box-shadow:0 4px 15px rgba(var(--vsg-purple-rgb),.25)}.global-analysis-synthesize-btn:disabled{opacity:.6;cursor:wait}.global-analysis-action-hint{font-size:12px;color:#ffffff80;text-align:center;margin:0}.global-analysis-single-source-note{margin-top:20px;padding:12px 24px;background:rgba(var(--vsg-purple-rgb),.08);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;width:fit-content;margin-left:auto;margin-right:auto}.global-analysis-single-source-note p{font-size:14px;color:rgba(var(--vsg-purple-rgb),.8);margin:0;text-align:center;font-style:normal;white-space:nowrap}.global-analysis-processed-by{font-size:12px;color:rgba(var(--vsg-purple-rgb),.7);font-style:normal;margin-bottom:20px;text-align:center}@media (max-width: 600px){.global-analysis-modal-content{width:95%;max-height:calc(90 * var(--vh-fit))}.global-analysis-modal-header,.global-analysis-modal-body{padding:16px}.global-analysis-modal-title-text h2{font-size:18px}}.user-profile-page{display:flex;flex-direction:column;height:100%;width:100%;background:#0000004d;overflow:hidden}.profile-avatar-img{width:60px;height:60px;border-radius:50%;border:2px solid rgba(var(--vsg-purple-rgb),.4);object-fit:cover;position:relative;z-index:1}.profile-avatar-outer-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:78px;height:78px;border-radius:50%;pointer-events:none;z-index:0}.dreamer-pulse .profile-avatar-img{box-shadow:var(--glow-avatar-rest),var(--glow-avatar-inset)}.profile-avatar-wrapper.dreamer-pulse{--glow-rest: none;--glow-peak: 0 0 35px rgba(var(--vsg-purple-radiant-rgb), 1);--glow-radius: 50%;--glow-period: 2s}.dreamer-glow-pulse{animation:outerGlowPulse 2s ease-in-out infinite}@keyframes outerGlowPulse{0%,to{opacity:.6;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}}.profile-name-row{display:flex;align-items:center;gap:16px}.profile-action-icons{display:flex;gap:8px;align-items:center}.profile-icon-btn{position:relative;background:transparent;border:none;color:var(--vsg-purple);width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;border-radius:6px}.profile-icon-btn:hover{background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple-bright)}.profile-icon-btn svg{stroke:currentColor}:where(.user-profile-page) .icon-badge{position:absolute;top:-4px;right:-4px;background:var(--vsg-purple);color:#fff;font-size:9px;font-weight:400;padding:1px 4px;border-radius:8px;min-width:14px;text-align:center;box-shadow:0 2px 4px #0000004d}.profile-loading,.profile-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;height:100%;color:rgba(var(--vsg-purple-rgb),.7);font-family:var(--font-primary)}.profile-content{padding:24px;width:100%;height:100%;overflow:hidden}.profile-content.profile-restricted{display:flex;flex-direction:column;align-items:center;text-align:center}.profile-three-columns{display:flex;gap:32px;flex:1;padding-top:16px}.profile-column{display:flex;flex-direction:column;gap:24px;flex:1;min-width:0}.profile-user-info{display:flex;flex-direction:row;align-items:flex-start;text-align:left;gap:20px}.profile-user-info .profile-info{align-items:flex-start;flex:1;min-width:0}.profile-user-info .profile-name-row{justify-content:flex-start;flex-wrap:wrap}.profile-user-info .profile-ranks{align-items:center;justify-content:flex-start}.profile-user-info .profile-stats-inline{justify-content:flex-start}.profile-stats-row{display:flex;align-items:center;margin-top:8px;position:relative}.profile-herodotus-area{position:absolute;left:0;display:flex;align-items:center;justify-content:center;width:80px}.profile-stats-row .profile-stats-inline{display:flex;gap:8px;margin-top:0;margin-left:80px}.profile-stats-row .profile-stat-mini{width:52px;flex-shrink:0;padding:6px 4px}.profile-friends-section{flex:0 0 auto}.profile-friends-rpgs-row{display:flex;gap:16px;flex:1;min-height:0}.profile-friends-rpgs-row .profile-friends-section,.profile-friends-rpgs-row .profile-rpgs-section{flex:1;min-width:0}.profile-rpgs-section .rpg-tags-container{flex-direction:column;align-items:flex-start}.profile-column-bio{margin-top:0;padding-top:0}.profile-bio-section{flex:1;display:flex;flex-direction:column}.profile-bio-section.profile-section{margin-top:0;padding-top:0}.profile-bio-section .profile-bio,.profile-bio-section .profile-bio-input{flex:1;min-height:200px}.profile-column-character{margin-top:0;padding-top:0}.profile-character-section{flex:1;display:flex;flex-direction:column}.profile-character-section.profile-section{margin-top:0;padding-top:0}.character-change-btn{background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);color:var(--vsg-purple);font-family:var(--font-primary);font-size:10px;padding:4px 10px;border-radius:12px;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.character-change-btn:hover{background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.5)}.profile-character-card-wrapper{width:100%}.profile-character-card-wrapper .character-card{width:100%;min-height:400px}.character-game{font-size:12px;color:rgba(var(--vsg-purple-rgb),.7);font-style:normal}.character-empty{display:flex;align-items:center;justify-content:center;flex:1;background:#0003;border:1px dashed rgba(var(--vsg-purple-rgb),.2);border-radius:12px;padding:24px;text-align:center;color:#fff6}.character-loading{display:flex;align-items:center;justify-content:center;flex:1}.character-select-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.character-select-modal{background:linear-gradient(135deg,rgba(var(--vsg-surface-rgb),.98),rgba(var(--vsg-surface-rgb),.98));border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;width:400px;max-height:500px;display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.2)}.character-select-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.character-select-header h2{font-family:var(--font-primary);font-size:16px;color:var(--vsg-purple);margin:0;text-transform:uppercase;letter-spacing:1px}.character-select-header .close-btn{background:none;border:none;color:#fff9;font-size:24px;cursor:pointer;padding:0;line-height:1}.character-select-header .close-btn:hover{color:var(--vsg-purple)}.character-select-content{padding:16px;overflow-y:auto;flex:1}.character-select-empty{text-align:center;padding:32px;color:#fff6;font-style:normal}.character-select-list{display:flex;flex-direction:column;gap:8px}.character-select-item{display:flex;align-items:center;gap:12px;padding:12px;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:8px;cursor:pointer;transition:all .2s ease}.character-select-item:hover{background:rgba(var(--vsg-purple-rgb),.12);border-color:rgba(var(--vsg-purple-rgb),.3)}.character-select-item.selected{background:rgba(var(--vsg-purple-rgb),.15);border-color:rgba(var(--vsg-purple-rgb),.5)}.character-select-item.character-clear{border-style:dashed}.character-select-avatar{width:48px;height:48px;border-radius:8px;overflow:hidden;background:rgba(var(--vsg-purple-rgb),.1);display:flex;align-items:center;justify-content:center;flex-shrink:0}.character-select-avatar img{width:100%;height:100%;object-fit:cover}.character-select-avatar span{font-family:var(--font-primary);font-size:20px;color:var(--vsg-purple)}.character-select-avatar .clear-icon{font-size:24px;color:rgba(var(--vsg-error-rgb),.8)}.character-select-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.character-select-name{font-family:var(--font-primary);font-size:14px;color:#ffffffe6}.character-select-game{font-size:11px;color:rgba(var(--vsg-purple-rgb),.6)}.character-selected-check{color:var(--vsg-purple);font-size:18px}.profile-header-section{display:flex;gap:40px;margin-bottom:24px;padding-top:16px;align-items:flex-start}.profile-header-left{display:flex;align-items:flex-start;gap:24px;flex-shrink:0;min-width:300px}.profile-header-right{flex:1;min-width:200px;display:flex;flex-direction:column}.profile-header-right .profile-bio,.profile-header-right .profile-bio-input{flex:1;min-height:100px}.profile-stats-inline{display:flex;gap:16px;margin-top:12px}.profile-stat-mini,.profile-user-info .profile-stat-mini{display:flex;flex-direction:column;align-items:center;padding:6px 12px;background:rgba(var(--vsg-purple-rgb),.06);border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:6px;flex:1;min-width:0}.stat-mini-value,.profile-user-info .stat-mini-value{font-family:var(--font-primary);font-size:18px;color:var(--vsg-purple);font-weight:400;line-height:1}.stat-mini-label,.profile-user-info .stat-mini-label{font-family:var(--font-primary);font-size:8px;color:rgba(var(--vsg-purple-rgb),.6);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.profile-header{display:flex;align-items:center;gap:24px;margin-bottom:24px;padding-top:16px}.profile-avatar-wrapper{position:relative;display:flex;align-items:center;justify-content:center;overflow:visible}.profile-avatar{width:80px;height:80px;border-radius:50%;border:2px solid rgba(var(--vsg-purple-rgb),.4)}.avatar-edit-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0009;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.profile-avatar-wrapper:hover .avatar-edit-overlay{opacity:1}.avatar-edit-overlay span{font-family:var(--font-primary);font-size:12px;color:var(--vsg-purple);text-transform:uppercase;letter-spacing:1px}.profile-info{display:flex;flex-direction:column;gap:4px}.profile-name{font-family:var(--font-primary);font-size:22px;color:#fffffff2;margin:0;font-weight:400}.profile-name-input{font-family:var(--font-primary);font-size:22px;color:#fffffff2;font-weight:400;background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;padding:6px 12px;min-width:200px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.profile-name-input:focus{border-color:rgba(var(--vsg-purple-rgb),.6);box-shadow:0 0 8px rgba(var(--vsg-purple-rgb),.3)}.profile-name-input::placeholder{font-family:var(--font-primary);font-weight:300;color:rgba(var(--vsg-purple-rgb),.5)}.profile-ranks{display:flex;flex-direction:row;align-items:center;gap:12px;margin-top:8px}.profile-gm-rank{font-family:var(--font-primary);font-size:11px;color:rgba(var(--vsg-gold-rgb),.9);text-transform:uppercase;letter-spacing:1px;padding:2px 8px;background:rgba(var(--vsg-gold-rgb),.1);border:1px solid rgba(var(--vsg-gold-rgb),.3);border-radius:4px;display:inline-block;width:fit-content}.profile-restricted-message{margin-top:40px;padding:24px;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;color:#ffffffb3;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:1px;font-size:14px}.profile-stats-section{display:none}.profile-divider{height:1px;background:rgba(var(--vsg-purple-rgb),.15);margin:24px 0}.profile-section{margin-bottom:8px}.profile-section-header{font-family:var(--font-primary);font-size:14px;color:var(--vsg-purple);text-transform:uppercase;letter-spacing:1px;margin:0 0 16px;padding-bottom:8px;display:flex;align-items:center;gap:12px}.profile-section-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.profile-section-header-row .profile-section-header{margin:0;padding:0}:where(.user-profile-page) .powered-by{font-size:10px;color:rgba(var(--vsg-purple-rgb),.5);font-weight:400;text-transform:none;letter-spacing:0}.profile-bio{background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:8px;padding:16px;color:#ffffffd9;line-height:1.6;min-height:80px;white-space:pre-wrap}.bio-empty{color:#fff6;font-style:normal}.profile-bio-input{width:100%;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.25);border-radius:8px;padding:16px;color:#fffffff2;font-family:inherit;font-size:14px;line-height:1.6;resize:vertical;min-height:100px;transition:border-color .2s ease}.profile-bio-input:focus{outline:none;border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.1)}.profile-bio-input::placeholder{color:#fff6}.rpg-tags-container{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.rpg-tag{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.25);border-radius:20px;font-family:var(--font-primary);font-size:12px;color:rgba(var(--vsg-purple-rgb),.9);transition:all .2s ease}.rpg-tag:hover{background:rgba(var(--vsg-purple-rgb),.15);border-color:rgba(var(--vsg-purple-rgb),.4)}.rpg-add-input{display:flex;align-items:center;gap:4px}.rpg-add-input input{background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.25);border-radius:20px;padding:8px 14px;color:#fffffff2;font-family:var(--font-primary);font-size:12px;width:150px;transition:border-color .2s ease}.rpg-add-input input:focus{outline:none;border-color:rgba(var(--vsg-purple-rgb),.5)}.rpg-add-input input::placeholder{color:#fff6}.rpg-add-button{background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.25);border-radius:50%;width:32px;height:32px;color:var(--vsg-purple);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.rpg-add-button:hover{background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.4)}.rpg-empty{color:#fff6;font-size:14px}.profile-friends-placeholder{background:#0003;border:1px dashed rgba(var(--vsg-purple-rgb),.2);border-radius:8px;padding:24px;text-align:center}:where(.user-profile-page) .friends-empty{color:#fff6;font-style:normal}.profile-herodotus-placeholder{background:#0003;border:1px dashed rgba(var(--vsg-purple-rgb),.2);border-radius:8px;padding:24px;text-align:center;color:#fff6;font-style:normal}.profile-friends-section::-webkit-scrollbar{width:6px}.profile-friends-section::-webkit-scrollbar-track{background:#0003;border-radius:3px}.profile-friends-section::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.3);border-radius:3px}.profile-friends-section::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.5)}@media (max-width: 1200px){.profile-three-columns{gap:24px}}@media (max-width: 1200px){.profile-three-columns{flex-wrap:wrap}.profile-column{flex:1 1 45%;min-width:280px}.profile-column-user{flex:0 0 100%}.profile-user-info{flex-direction:row;align-items:flex-start;text-align:left;gap:24px}.profile-user-info .profile-info{align-items:flex-start}.profile-user-info .profile-name-row{justify-content:flex-start}.profile-user-info .profile-ranks{align-items:flex-start}.profile-user-info .profile-stats-inline{justify-content:flex-start}.profile-friends-section{max-height:200px}.profile-friends-rpgs-row .profile-friends-section,.profile-friends-rpgs-row .profile-rpgs-section{max-height:180px}}@media (max-width: 600px){.profile-three-columns{flex-direction:column;overflow-y:auto;padding-bottom:24px}.profile-column{flex:none;width:100%}.profile-user-info{flex-direction:column;align-items:center;text-align:center}.profile-user-info .profile-info{align-items:center}.profile-user-info .profile-name-row{justify-content:center}.profile-user-info .profile-ranks{align-items:center}.profile-user-info .profile-stats-inline{justify-content:center}.profile-friends-section{max-height:none}.profile-friends-rpgs-row{flex-direction:column;gap:24px}.profile-friends-rpgs-row .profile-friends-section,.profile-friends-rpgs-row .profile-rpgs-section{max-height:none}.character-avatar-img,.character-avatar-placeholder{width:100px;height:100px}.character-avatar-placeholder{font-size:40px}.character-select-modal{width:90%;max-width:400px}}@media (max-width: 600px){.profile-content{padding:16px}.profile-three-columns{gap:16px}.profile-name{font-size:24px}}.worlds-tab{width:100%;animation:fadeIn .3s ease}.worlds-header{padding:20px 10px;display:flex;justify-content:flex-end;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);margin-bottom:20px}.create-world-btn{background:linear-gradient(135deg,var(--vsg-purple) 0%,var(--vsg-purple) 100%);border:none;border-radius:8px;color:#fff;padding:12px 24px;font-size:16px;font-weight:400;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease;box-shadow:0 4px 12px rgba(var(--vsg-purple-rgb),.3)}.create-world-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--vsg-purple-rgb),.5);background:linear-gradient(135deg,var(--vsg-purple) 0%,var(--vsg-purple) 100%)}.create-world-btn:active{transform:translateY(0)}.create-world-btn .btn-icon{font-size:20px;font-weight:400}.create-world-btn.primary{margin-top:20px}.worlds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:25px;padding:20px 10px 10px}.empty-worlds{display:flex;align-items:center;justify-content:center;min-height:400px;text-align:center}.dice-roller-settings-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dice-roller-settings-modal{background:var(--background-primary, var(--vsg-surface));border:2px solid var(--purple, var(--vsg-purple));border-radius:12px;width:90%;max-width:600px;max-height:calc(90 * var(--vh-fit));display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3);animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dice-roller-settings-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color, rgba(var(--vsg-purple-rgb), .2))}.dice-roller-settings-modal-title{font-size:1.5rem;font-weight:400;color:var(--purple, var(--vsg-purple));margin:0}.dice-roller-settings-modal-close{background:none;border:none;color:var(--text-secondary, rgba(255, 255, 255, .67));font-size:2rem;line-height:1;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.dice-roller-settings-modal-close:hover{background:rgba(var(--vsg-purple-rgb),.1);color:var(--purple, var(--vsg-purple))}.dice-roller-settings-modal-body{padding:24px;overflow-y:auto;flex:1}.dice-roller-settings-description{color:var(--text-secondary, rgba(255, 255, 255, .67));margin:0 0 24px;font-size:.95rem;line-height:1.5}.dice-roller-settings-info{margin-top:24px;padding:16px;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px}.info-title{font-weight:400;color:var(--purple, var(--vsg-purple));margin:0 0 8px;font-size:.9rem}.info-list{margin:0;padding-left:20px;color:var(--text-secondary, rgba(255, 255, 255, .67));font-size:.85rem;line-height:1.6}.info-list li{margin-bottom:4px}.info-list li:last-child{margin-bottom:0}.dice-roller-settings-modal-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-top:1px solid var(--border-color, rgba(var(--vsg-purple-rgb), .2))}:where(.dice-roller-settings-modal-overlay) .footer-actions{display:flex;gap:12px}.dice-roller-settings-button{padding:10px 20px;border-radius:6px;font-size:.95rem;font-weight:400;cursor:pointer;transition:all .2s ease;border:none;outline:none}.dice-roller-settings-button:focus-visible{outline:2px solid var(--purple, var(--vsg-purple));outline-offset:2px}.dice-roller-settings-button.reset{background:transparent;border:1px solid var(--border-color, rgba(var(--vsg-purple-rgb), .2));color:var(--text-secondary, rgba(255, 255, 255, .67))}.dice-roller-settings-button.reset:hover{background:#ffffff0d;border-color:var(--text-secondary, rgba(255, 255, 255, .4))}.dice-roller-settings-button.cancel{background:transparent;border:1px solid var(--border-color, rgba(var(--vsg-purple-rgb), .2));color:var(--text-primary, #fff)}.dice-roller-settings-button.cancel:hover{background:#ffffff0d;border-color:var(--text-secondary, rgba(255, 255, 255, .4))}.dice-roller-settings-button.save{background:var(--purple, var(--vsg-purple));color:#fff;font-weight:400}.dice-roller-settings-button.save:hover{background:var(--purple-hover, var(--vsg-purple));box-shadow:0 4px 12px rgba(var(--vsg-purple-rgb),.3)}.dice-roller-settings-button.save:active{transform:scale(.98)}.dice-roller-settings-modal-body .difficulty-selector,.dice-roller-settings-modal-body .special-cases-selector{margin-bottom:24px}.dice-roller-settings-modal-body .difficulty-selector:last-of-type,.dice-roller-settings-modal-body .special-cases-selector:last-of-type{margin-bottom:0}@media (max-width: 600px){.dice-roller-settings-modal{width:95%;max-height:calc(95 * var(--vh-fit))}.dice-roller-settings-modal-header{padding:16px 20px}.dice-roller-settings-modal-title{font-size:1.25rem}.dice-roller-settings-modal-body{padding:20px}.dice-roller-settings-modal-footer{flex-direction:column;gap:12px;align-items:stretch}:where(.dice-roller-settings-modal-overlay) .footer-actions{width:100%}.dice-roller-settings-button{flex:1}.dice-roller-settings-button.reset{width:100%}}.game-systems-tab{width:100%;margin:0 auto;padding:0 2rem}.systems-header{display:flex;justify-content:flex-end;align-items:center;margin-bottom:30px;padding:20px 10px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.systems-header h2{color:var(--vsg-purple);font-size:24px;font-weight:400;font-family:var(--font-primary);letter-spacing:1px}.create-system-btn{background:linear-gradient(135deg,var(--vsg-purple) 0%,var(--vsg-purple) 100%);border:none;border-radius:8px;color:#fff;padding:12px 24px;font-size:16px;font-weight:400;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease;box-shadow:0 4px 12px rgba(var(--vsg-purple-rgb),.3)}.create-system-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--vsg-purple-rgb),.5);background:linear-gradient(135deg,var(--vsg-purple) 0%,var(--vsg-purple) 100%)}.create-system-btn:active{transform:translateY(0)}.create-system-btn .btn-icon{font-size:20px;font-weight:400}.create-system-form{background:#000000b3;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;padding:20px;margin-bottom:30px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.create-system-form h3{color:var(--vsg-purple);font-size:18px;margin-bottom:15px;font-family:var(--font-primary)}.game-system-settings-page{min-height:calc(100 * var(--vh-fit));width:100%;padding:2rem;background:var(--vsg-surface);position:relative;animation:fadeIn .3s ease}.game-system-settings-container{width:100%;margin:0;padding:0 2rem}.game-system-settings-container>.edit-system-form{max-width:100%;background:#000c;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1.5rem 2rem;padding-bottom:60px}.game-system-settings-page .settings-header{display:flex;justify-content:center;align-items:center;margin-bottom:1rem}.game-system-settings-page .settings-title{font-family:var(--font-primary);font-size:2rem;color:var(--vsg-purple);margin:0;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5);text-transform:uppercase;letter-spacing:2px;text-align:center}.game-system-settings-page .edit-system-form h3{display:none}.game-system-settings-page .form-actions.form-actions{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;gap:1rem!important;position:fixed!important;bottom:0!important;left:0!important;right:0!important;padding:.75rem 2rem!important;background:rgba(var(--vsg-surface-rgb),.95)!important;border-top:1px solid rgba(var(--vsg-purple-rgb),.3)!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;z-index:100!important}.game-system-settings-page .form-actions>button,.game-system-settings-page .form-actions>.fantamaster-button{flex-shrink:0!important;min-width:auto!important;width:auto!important}.game-system-settings-page .form-actions .form-actions-spacer{flex:1!important}.system-type-toggle{display:flex;gap:10px;margin-bottom:15px}.type-button{flex:1;padding:10px;background:rgba(var(--vsg-surface-rgb),.5);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:4px;color:#fff9;font-weight:400;cursor:pointer;transition:all .3s ease;text-transform:uppercase;font-size:12px;letter-spacing:1px}.type-button:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.4)}.type-button.active{background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.6);color:var(--vsg-purple);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.3)}:where(.game-systems-tab) .form-input,:where(.game-systems-tab) .form-textarea{width:100%}:where(.game-systems-tab) .form-input:focus,:where(.game-systems-tab) .form-textarea:focus{outline:none}.form-grid-aligned{display:grid;grid-template-columns:max-content 1fr;gap:10px;margin-bottom:10px;align-items:center}.form-grid-aligned .form-row,.form-grid-aligned .form-group-single,.form-grid-aligned label{display:contents}.form-grid-aligned label span{color:#fff;text-align:left;white-space:nowrap}.form-grid-aligned select{justify-self:start}.systems-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:25px;padding-top:20px}.system-card{background:#000c;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;overflow:hidden;transition:all .3s ease;position:relative;min-height:400px;display:flex;flex-direction:column}.system-card:hover{border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 10px 30px rgba(var(--vsg-purple-rgb),.2);transform:translateY(-5px)}.system-card-body{padding:20px;background:linear-gradient(to bottom,#0003,#0006);margin-top:auto;position:relative}.system-name-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.system-card .system-name{margin:0;font-family:var(--font-primary);font-size:20px;font-weight:400;color:#fffffff2;letter-spacing:.5px}.system-card-info-button{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:rgba(var(--vsg-purple-rgb),.6);cursor:pointer;padding:0;transition:all .2s ease}.system-card-info-button:hover{color:var(--vsg-purple);transform:scale(1.15)}.system-card-info-button svg{width:18px;height:18px}.system-type-badge{position:absolute;top:10px;right:10px;padding:4px 12px;border-radius:20px;font-size:11px;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:1px;font-weight:400;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10}.system-type-badge.official{background:rgba(var(--vsg-analyzing-rgb),.2);color:var(--vsg-analyzing);border:1px solid rgba(var(--vsg-analyzing-rgb),.3)}.system-type-badge.custom{background:rgba(var(--vsg-gold-rgb),.2);color:var(--vsg-gold);border:1px solid rgba(var(--vsg-gold-rgb),.3)}.system-stats{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:0;padding-top:16px;border-top:1px solid rgba(var(--vsg-purple-rgb),.1)}.system-stats .stat{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:13px;color:#ffffffb3;flex-shrink:0;white-space:nowrap}.system-stats .stat svg:not(.trash-svg){flex-shrink:0;color:rgba(var(--vsg-purple-rgb),.6)}.system-stats .stat.stat-multiline{flex-direction:row;align-items:flex-start;flex:1;min-width:0}.system-stats .stat-content{display:flex;flex-direction:column;gap:2px}.system-stats .stat-line-2{font-size:13px}.system-stats .stat-count-green{color:var(--vsg-success)!important;font-size:13px;font-weight:400}.system-stats .stat-count-yellow{color:var(--vsg-gold)!important;font-size:13px;font-weight:400}.system-stats .stat-count-red{color:var(--vsg-error)!important;font-size:13px;font-weight:400}.system-card .role-badge{position:absolute;top:10px;left:10px;padding:4px 8px;border-radius:20px;font-size:11px;font-family:var(--font-primary);font-weight:400;z-index:3;text-transform:uppercase;letter-spacing:1px;min-width:75px;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.system-card .role-badge.creator{background:rgba(var(--vsg-success-rgb),.2);color:var(--vsg-success);border:1px solid rgba(var(--vsg-success-rgb),.3);box-shadow:none;text-shadow:none}.system-card .role-badge.creator.clickable{cursor:pointer;transition:all .3s ease}.system-card .role-badge.creator.clickable:hover{background:rgba(var(--vsg-success-rgb),.3);transform:scale(1.05)}:where(.game-systems-tab) .loading-state{text-align:center;padding:60px 20px;color:#fff9}:where(.game-systems-tab) .empty-state{text-align:center}.system-tab-bar{display:flex;gap:0;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15);margin-bottom:1.5rem}.system-tab{padding:.75rem 1.5rem;background:transparent;border:none;color:#ffffff80;font-family:var(--font-primary);font-size:.9rem;cursor:pointer;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}.system-tab:hover{color:#fffc}.system-tab.active{color:var(--vsg-purple);border-bottom-color:var(--vsg-purple)}.system-view{width:100%;margin:0 auto;padding:20px}.system-view-header{display:flex;align-items:center;gap:20px;margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.system-view-header h2{color:var(--vsg-purple);font-size:28px;font-weight:400;font-family:var(--font-primary);margin:0;flex:1}.system-view-content{background:#000000b3;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;padding:30px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.system-section{margin-bottom:25px}.system-section h3{color:var(--vsg-purple);font-size:16px;font-weight:400;margin-bottom:10px;text-transform:uppercase;letter-spacing:1px}.system-section p{color:#fffc;line-height:1.6;margin:0}.rules-content{background:rgba(var(--vsg-surface-rgb),.5);border:1px solid rgba(var(--vsg-purple-rgb),.1);border-radius:4px;padding:15px;color:#ffffffe6;white-space:pre-wrap;font-family:var(--font-primary);font-size:13px;line-height:1.6;overflow-x:auto}.system-view-actions{display:flex;gap:15px;margin-top:30px;padding-top:20px;border-top:1px solid rgba(var(--vsg-purple-rgb),.2)}.specific-topic-input{background:#0003;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;padding:15px;margin-bottom:15px}.specific-topic-input .form-input{margin-bottom:10px}.topic-visibility-section{display:flex;align-items:center;gap:15px;margin:15px 0;padding:10px;background:#0000004d;border-radius:6px;border:1px solid rgba(var(--vsg-purple-rgb),.15)}.specific-topics-section{margin-bottom:40px}.visibility-label{font-family:var(--font-primary);font-size:14px;color:rgba(var(--vsg-purple-rgb),.8);text-transform:uppercase;letter-spacing:.5px;margin:0}.specific-topic{margin-bottom:20px;padding:15px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.1);border-radius:8px;position:relative;transition:all .3s ease}.specific-topic.creator-only{background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.4);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.specific-topic:last-child{border-bottom:none}.specific-topic h4{color:rgba(var(--vsg-purple-rgb),.9);font-size:14px;margin-bottom:10px;font-weight:400;padding-right:100px}.creator-badge{position:absolute!important;top:15px;right:15px;pointer-events:none!important;opacity:1!important;font-size:12px!important;padding:4px 12px!important;height:auto!important;min-height:0!important;background:rgba(var(--vsg-success-rgb),.2)!important;border-color:rgba(var(--vsg-success-rgb),.3)!important;color:var(--vsg-success)!important;box-shadow:0 0 10px rgba(var(--vsg-success-rgb),.3)!important;text-shadow:0 0 5px rgba(var(--vsg-success-rgb),.5)}.form-group-single{margin-bottom:15px}.form-group-single label{display:flex;align-items:center;gap:15px}.form-group-single label span{min-width:150px;color:rgba(var(--vsg-purple-rgb),.8);font-size:14px}.form-select-small.custom-dropdown{width:100px}.form-select-small .custom-dropdown-trigger{background:rgba(var(--vsg-surface-rgb),.8);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:#ffffffe6;padding:8px 12px;font-size:14px;width:100%;cursor:pointer;transition:all .3s ease}.form-select-small .custom-dropdown-trigger:hover{border-color:rgba(var(--vsg-purple-rgb),.5);background-color:rgba(var(--vsg-surface-rgb),.9)}.form-select-small.open .custom-dropdown-trigger{border-color:rgba(var(--vsg-purple-rgb),.7);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.2)}.form-select-small .custom-dropdown-arrow svg{color:var(--vsg-purple)}.dice-roller-settings-section{margin-top:30px}.dice-roller-settings-section h4{color:var(--vsg-purple);font-size:18px;font-weight:400;margin:0 0 8px}.dice-roller-settings-section .section-description{color:#fff9;font-size:14px;margin:0 0 15px;line-height:1.5}.dice-roller-settings-section .settings-configured{color:var(--vsg-success);font-size:14px;margin:10px 0 0;display:flex;align-items:center;gap:5px}.system-card-image{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.1),rgba(var(--vsg-purple-rgb),.1));overflow:hidden}.system-card-image:hover .system-card-image-overlay{opacity:1}.system-card-icon-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.system-card-initials{font-size:72px;color:rgba(var(--vsg-purple-rgb),.4);font-family:var(--font-primary);font-weight:300;letter-spacing:4px;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5);line-height:1}.system-card-image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.system-card-upload-hint{font-size:14px;color:#fff;font-weight:400;padding:8px 16px;background:rgba(var(--vsg-purple-rgb),.3);border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sheet-preview{padding:1.5rem;background:var(--vsg-surface);border-radius:12px;max-width:1200px;margin:0 auto;color:#ffffffe6}.preview-empty{padding:4rem 2rem;text-align:center;color:#ffffff80}:where(.sheet-preview,.preview-empty) .preview-header{padding-bottom:1.5rem;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.preview-description{margin:0;font-size:.95rem;color:#fff9;line-height:1.5}.preview-version-selector-container{display:flex;justify-content:center;align-items:center;padding:1.5rem 0;margin-bottom:1rem}.preview-version-selector-container .version-dropdown{min-width:250px;max-width:300px}.preview-section{margin-bottom:1.5rem;background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.15),rgba(var(--vsg-purple-rgb),.08));border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;overflow:visible;box-shadow:inset 0 0 30px rgba(var(--vsg-purple-rgb),.1)}.preview-section-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:rgba(var(--vsg-purple-rgb),.12);border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.preview-section-header h3{margin:0;font-family:var(--font-primary);font-size:1.1rem;font-weight:400;color:#fffffff2}.preview-columns{display:grid;gap:1.5rem;padding:1.5rem}.preview-column{display:flex;flex-direction:column;gap:.75rem}.preview-column-title{margin:0 0 .75rem;font-size:.95rem;font-weight:400;color:rgba(var(--vsg-purple-rgb),.9);padding-bottom:.5rem;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.preview-empty-column{padding:2rem;text-align:center;font-size:.85rem;color:#fff6;font-style:normal}.preview-fields{display:grid;grid-template-columns:auto 1fr;grid-auto-rows:minmax(36px,auto);gap:.75rem 1rem;align-items:center}.preview-field-container{display:flex;flex-direction:column;gap:.35rem;grid-column:1 / -1}.preview-field-container.horizontal.simple-field{display:contents}.preview-field-container.horizontal.simple-field .preview-field-content:has(.field-type-compound),.preview-field-container.horizontal.simple-field .field-renderer.field-type-compound,.preview-field-container.horizontal.simple-field .field-type-compound>.field-content,.preview-field-container.horizontal.simple-field .field-type-compound .field-input-row,.preview-field-container.horizontal.simple-field .compound-field{display:contents}.preview-field-container.horizontal.simple-field .compound-name,.preview-field-container.horizontal.simple-field .compound-value{display:flex;align-items:center;min-width:0}.preview-field-container.horizontal:not(.simple-field){flex-direction:row;align-items:center;gap:1rem;grid-column:1 / -1}.preview-field-container.horizontal:not(.simple-field) .preview-text-input,.preview-field-container.horizontal:not(.simple-field) input[type=text]{max-width:80px;min-width:60px}.preview-field-container.vertical{flex-direction:column;align-items:flex-start;grid-column:1 / -1}.preview-field-container.full-width{grid-column:1 / -1}.preview-field-label{font-size:.9rem;font-weight:400;color:#ffffffe6;display:flex;align-items:center;gap:.35rem}.preview-field-content{display:flex;flex-direction:column;gap:.35rem}.preview-field-container.vertical .preview-field-content{width:100%}.required-mark{color:var(--vsg-purple)}.preview-field{width:100%;padding:.7rem .9rem;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:#ffffffe6;font-size:.95rem;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease}.preview-field:focus{outline:none;border-color:rgba(var(--vsg-purple-rgb),.6);box-shadow:0 0 0 2px rgba(var(--vsg-purple-rgb),.15)}.preview-text-input,.preview-number-input,.preview-date-input,.preview-select,.preview-dice-input,.preview-calculated-input{@extend .preview-field;}.preview-textarea{@extend .preview-field;resize:vertical;min-height:80px}.preview-number-group{display:flex;align-items:center;gap:.5rem}.preview-number-group input[type=number]::-webkit-inner-spin-button,.preview-number-group input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.preview-number-group input[type=number]{-moz-appearance:textfield}.number-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:#ffffffb3;font-size:1.1rem;cursor:not-allowed;transition:all .2s ease}.preview-dots{display:flex;gap:.4rem;font-size:1.4rem}.preview-dots-multi-row{display:flex;flex-direction:column;gap:4px}.preview-dots-row{display:flex;gap:.4rem;font-size:1.4rem}.preview-pool{display:flex;align-items:center}.preview-pool-numeric{flex-direction:row;gap:.3rem}.preview-pool-numeric .pool-current,.preview-pool-numeric .pool-max{font-size:1rem;font-weight:400;color:#ffffffe6}.preview-pool-numeric .pool-separator{color:#ffffff80;font-weight:400}.preview-pool-checkbox{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center}.preview-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#ffffffe6;cursor:pointer}.preview-radio-group{display:flex;flex-direction:column;gap:.5rem}.preview-radio{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#ffffffe6;cursor:pointer}.preview-image-upload{display:flex;flex-direction:column;gap:.5rem}.preview-image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem;background:rgba(var(--vsg-purple-rgb),.05);border:2px dashed rgba(var(--vsg-purple-rgb),.3);border-radius:8px;font-size:2rem;color:rgba(var(--vsg-purple-rgb),.6)}.preview-image-placeholder span{font-size:.85rem;color:#ffffff80}.image-hint{font-size:.75rem;color:#fff6;font-style:normal}.preview-dice{display:flex;gap:.5rem}.preview-calculated{display:flex;flex-direction:column;gap:.35rem}.calculated-formula{font-size:.75rem;color:rgba(var(--vsg-purple-rgb),.7);font-family:var(--font-primary)}.preview-divider{border:none;border-top:1px solid rgba(var(--vsg-purple-rgb),.2);margin:.5rem 0}.preview-heading{margin:0;font-size:1.1rem;font-weight:400;color:#fffffff2}.preview-richtext{display:flex;flex-direction:column;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;overflow:hidden}.richtext-toolbar{display:flex;gap:.25rem;padding:.5rem;background:rgba(var(--vsg-purple-rgb),.1);border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.richtext-toolbar button{width:28px;height:28px;background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;color:#fff9;font-weight:400;cursor:not-allowed}.richtext-content{padding:.8rem;min-height:100px;background:#0006;color:#ffffff80;font-style:normal}.preview-unknown{padding:1rem;background:rgba(var(--vsg-error-rgb),.1);border:1px solid rgba(var(--vsg-error-rgb),.3);border-radius:6px;color:var(--vsg-error);font-size:.85rem}:where(.sheet-preview,.preview-empty) .locked-indicator{font-size:.65rem;color:#ffffff59;cursor:help}.readonly-badge{font-size:.75rem;color:#fff6;font-style:normal}.preview-field-label .formula-indicator{display:inline-flex;align-items:center;justify-content:center;padding:1px 4px;background:rgba(var(--vsg-magenta-rgb),.15);border:1px solid rgba(var(--vsg-magenta-rgb),.4);border-radius:3px;font-size:.6rem;font-family:var(--font-primary);font-weight:400;font-style:normal;color:var(--vsg-magenta);cursor:help;text-transform:lowercase}.preview-field-content .formula-indicator{display:inline-flex;align-items:center;justify-content:center;padding:1px 5px;background:rgba(var(--vsg-magenta-rgb),.15);border:1px solid rgba(var(--vsg-magenta-rgb),.4);border-radius:4px;font-size:.65rem;font-family:var(--font-primary);font-weight:400;font-style:normal;color:var(--vsg-magenta);cursor:help;transition:all .2s;text-transform:lowercase}.preview-field-content .formula-indicator:hover{background:rgba(var(--vsg-magenta-rgb),.25);border-color:rgba(var(--vsg-magenta-rgb),.6)}.preview-field-label .gm-indicator{display:inline-flex;align-items:center;justify-content:center;padding:1px 4px;background:rgba(var(--vsg-magenta-rgb),.15);border:1px solid rgba(var(--vsg-magenta-rgb),.4);border-radius:3px;font-size:.6rem;font-family:var(--font-primary);font-weight:400;color:var(--vsg-magenta);cursor:help;text-transform:uppercase;letter-spacing:.5px}.sheet-preview.theme-compact{padding:1rem}.sheet-preview.theme-compact .preview-field{padding:.4rem .6rem;font-size:.85rem}.sheet-preview.theme-compact .preview-section{margin-bottom:1rem}.sheet-preview.theme-spacious{padding:3rem}.sheet-preview.theme-spacious .preview-field{padding:.8rem 1rem;font-size:1rem}.sheet-preview.theme-spacious .preview-fields{gap:1.5rem}@media (max-width: 600px){.sheet-preview{padding:1rem}.preview-columns{grid-template-columns:1fr!important;gap:1.5rem}.preview-section-header{padding:.75rem 1rem}.preview-section-header h3{font-size:1.1rem}.preview-dice{flex-direction:column}.preview-field-container.horizontal{flex-direction:column;align-items:flex-start}.preview-field-container.horizontal .preview-field-label{min-width:unset}.preview-field-container.horizontal .preview-field-content{width:100%}}.preview-list{display:flex;flex-direction:column;gap:.5rem}.preview-list-instance{display:flex;align-items:center;gap:.5rem}.preview-list-label{font-weight:400;color:#ffffffe6;min-width:120px}.preview-list-value{color:#ffffff80;font-style:normal}.preview-list-add{margin-top:.25rem;padding:.5rem;text-align:center;color:var(--vsg-purple);font-size:.9rem;opacity:.7}.preview-list-prerendered{display:flex;flex-direction:column;gap:.5rem}.preview-list-slot{display:flex;align-items:center;gap:.75rem}.preview-list-dropdown{flex:1;min-width:0;padding:.5rem .75rem;background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:#ffffffe6;font-size:.9rem;cursor:not-allowed;opacity:.8}.preview-list-dropdown:disabled{cursor:not-allowed}.preview-list-slot .preview-list-value{color:rgba(var(--vsg-purple-rgb),.7);font-family:var(--font-primary);white-space:nowrap}.sheet-preview-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:10000;padding:40px;animation:fadeIn .2s ease}.sheet-preview-modal{background:transparent;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:16px;width:95%;max-width:1400px;max-height:calc(90 * var(--vh-fit));display:flex;flex-direction:column;overflow:visible;box-shadow:0 20px 60px #00000080,0 0 40px rgba(var(--vsg-purple-rgb),.1);animation:slideUp .3s ease}.sheet-preview-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);background:#0000004d}.sheet-preview-modal-header .header-spacer{width:36px}.sheet-preview-modal-title{margin:0;font-family:var(--font-primary);font-size:24px;font-weight:400;color:var(--vsg-purple);letter-spacing:1px;text-align:center;flex:1}.sheet-preview-modal-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:50%;color:#ffffffb3;font-size:24px;cursor:pointer;transition:all .2s}.sheet-preview-modal-close:hover{background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.4);color:var(--vsg-purple);transform:scale(1.1)}.sheet-preview-modal-content{flex:1;overflow-y:auto;padding:24px}.sheet-preview-modal-footer{position:relative;display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.2);background:#0000004d}.sheet-preview-modal-footer .footer-left,.sheet-preview-modal-footer .footer-right{display:flex;gap:12px;flex:1}.sheet-preview-modal-footer .footer-right{justify-content:flex-end}.sheet-preview-modal-footer .footer-center{position:absolute;left:50%;transform:translate(-50%);display:flex;justify-content:center}.methods-preview{padding:8px}.methods-preview-list{display:flex;flex-direction:column;gap:12px}.method-preview-card{display:flex;flex-direction:column;gap:0;padding:0;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;transition:all .3s ease;overflow:hidden}.method-preview-card:hover{border-color:rgba(var(--vsg-purple-rgb),.4);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.1)}.method-preview-card.expanded{border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.15)}.method-preview-clickable{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;cursor:pointer;transition:background .2s ease}.method-preview-clickable:hover{background:rgba(var(--vsg-purple-rgb),.05)}.method-expand-chevron{display:inline-block;margin-left:8px;font-size:12px;color:rgba(var(--vsg-purple-rgb),.5);transition:transform .3s ease}.method-expand-chevron.open{transform:rotate(180deg)}.method-expanded-content{padding:0 24px 20px;border-top:1px solid rgba(var(--vsg-purple-rgb),.1);animation:expandIn .2s ease}@keyframes expandIn{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}.method-expanded-note{margin:16px 0 0;font-size:13px;color:#fff6;font-style:normal}.method-rulesets-list{display:flex;flex-direction:column;gap:10px;margin-top:16px}.ruleset-preview-card{padding:14px 18px;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:8px}.ruleset-preview-header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.ruleset-preview-name{margin:0;font-family:var(--font-primary);font-size:13px;font-weight:400;color:#ffffffd9;letter-spacing:.3px}.ruleset-default-badge{font-size:10px;font-weight:400;letter-spacing:.5px;text-transform:uppercase;color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.15);padding:2px 8px;border-radius:4px}.ruleset-preview-desc{margin:0 0 10px;font-size:12px;color:#fff6;line-height:1.4}.ruleset-preview-stats{display:flex;gap:16px}.ruleset-stat{display:flex;align-items:baseline;gap:4px}.ruleset-stat-value{font-size:14px;font-weight:400;color:var(--vsg-purple)}.ruleset-stat-label{font-size:11px;color:#fff6;text-transform:uppercase;letter-spacing:.3px}.ruleset-preview-system{margin-top:8px;font-size:11px;color:#ffffff59}.ruleset-system-label{margin-right:4px}.ruleset-system-name{color:#ffffff8c}.methods-loading{display:flex;justify-content:center;align-items:center;min-height:200px}.method-preview-info{display:flex;flex-direction:column;gap:4px;flex:1}.method-preview-name{margin:0;font-family:var(--font-primary);font-size:15px;font-weight:400;color:var(--vsg-purple);letter-spacing:.3px}.method-preview-desc{margin:0;font-size:13px;color:#ffffff73;line-height:1.4}.method-preview-desc.custom-tag{color:rgba(var(--vsg-purple-rgb),.6);font-size:12px;font-weight:400;letter-spacing:.5px;text-transform:uppercase}.method-availability-row{display:flex;align-items:center;gap:16px;flex-shrink:0}.method-availability-label{font-size:12px;font-family:var(--font-primary);color:rgba(var(--vsg-purple-rgb),.6);font-weight:400;white-space:nowrap;letter-spacing:.5px}.method-toggle-compact{display:flex;align-items:center;gap:6px;font-size:12px;font-family:var(--font-primary);font-weight:400;color:#ffffffe6;letter-spacing:.5px;text-transform:uppercase}.tab-preview-container{padding:8px;display:flex;flex-direction:column;gap:20px}.tab-preview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;gap:8px;text-align:center}.tab-preview-empty p{margin:0;font-size:14px;color:#ffffff73;font-family:var(--font-primary)}.tab-preview-empty .tab-preview-empty-hint{font-size:12px;color:#ffffff4d}.tab-preview-header-row{display:flex;align-items:center;gap:12px}.tab-preview-badge{font-size:11px;font-weight:400;letter-spacing:.5px;text-transform:uppercase;color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.15);padding:4px 12px;border-radius:6px}.tab-preview-badge.badge-disabled{color:#fff6;background:#ffffff14}.tab-preview-system{font-size:12px;color:#fff6;font-style:normal}.tab-preview-description{margin:0;font-size:13px;color:#ffffff73;line-height:1.5}.tab-preview-stats-row{display:flex;gap:24px;padding:16px 20px;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:10px}.tab-preview-section{display:flex;flex-direction:column;gap:8px}.tab-preview-section-title{margin:0;font-family:var(--font-primary);font-size:12px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.6);text-transform:uppercase;letter-spacing:.8px}.tab-preview-item{padding:14px 18px;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:8px;display:flex;flex-direction:column;gap:6px;transition:border-color .2s ease}.tab-preview-item:hover{border-color:rgba(var(--vsg-purple-rgb),.3)}.tab-preview-item.item-disabled{opacity:.5}.tab-preview-item-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.tab-preview-item-name{font-family:var(--font-primary);font-size:14px;font-weight:400;color:#ffffffd9;letter-spacing:.3px}.tab-preview-item-desc{margin:0;font-size:12px;color:#fff6;line-height:1.4}.tab-preview-color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.mechanics-stat-item{gap:8px}.mechanics-stat-display-mode{font-size:11px;color:#ffffff59;text-transform:uppercase;letter-spacing:.5px}.mechanics-stat-details{display:flex;gap:6px;flex-wrap:wrap}.mechanics-stat-field{font-size:12px;color:#fff6;font-family:var(--font-primary)}.mechanics-stat-flags{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}.mechanics-flag{font-size:10px;font-weight:400;letter-spacing:.4px;text-transform:uppercase;color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.12);padding:2px 8px;border-radius:4px}.integrity-trigger-badge{font-size:10px;font-weight:400;letter-spacing:.5px;text-transform:uppercase;color:#fff9;background:#ffffff14;padding:2px 8px;border-radius:4px}.integrity-trigger-details{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}.integrity-field-count{font-size:11px;color:#ffffff59}.integrity-formula{font-size:11px;color:rgba(var(--vsg-purple-rgb),.5);font-family:var(--font-primary)}.integrity-disabled-label{font-size:10px;color:rgba(var(--vsg-error-rgb),.6);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}@media (max-width: 600px){.sheet-preview-modal-backdrop{padding:20px}.sheet-preview-modal{max-height:calc(95 * var(--vh-fit))}.sheet-preview-modal-header{padding:16px 20px}.sheet-preview-modal-title{font-size:20px}.sheet-preview-modal-content{padding:16px}.sheet-preview-modal-footer{padding:12px 16px;flex-wrap:wrap;gap:12px}.sheet-preview-modal-footer .footer-left,.sheet-preview-modal-footer .footer-right{flex:1 1 auto;justify-content:center}.sheet-preview-modal-footer .footer-center{position:static;transform:none;order:-1;flex:1 1 100%;justify-content:center}.method-preview-clickable{flex-direction:column;align-items:flex-start;gap:12px}.ruleset-preview-stats{flex-wrap:wrap;gap:10px}.tab-preview-stats-row{flex-wrap:wrap;gap:12px;padding:12px 16px}.tab-preview-item{padding:12px 14px}}.sheets-tab{width:100%;animation:fadeIn .3s ease}.empty-sheets{display:flex;align-items:center;justify-content:center;min-height:400px;text-align:center}.empty-sheets .empty-content h3{font-family:var(--font-primary);font-size:24px;color:var(--vsg-purple);margin-bottom:10px}.empty-sheets .empty-content p{color:#fff9;font-size:14px;margin-bottom:20px}.sheets-tab .modal-container.character-modal{background:rgba(var(--vsg-surface-rgb),.95);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:16px;width:95%;max-width:600px;max-height:calc(85 * var(--vh-fit));overflow-y:auto;box-shadow:0 20px 60px #00000080,0 0 40px rgba(var(--vsg-purple-rgb),.1);animation:slideUp .3s ease}.character-metadata{display:flex;flex-direction:column;gap:0px;min-width:0;overflow:hidden}:where(.character-metadata) .metadata-label{font-family:var(--font-primary);font-weight:400;text-transform:uppercase;letter-spacing:.5px}.metadata-display{display:flex;align-items:center;gap:8px;flex:1;min-width:0;overflow:hidden}.character-metadata .metadata-value{font-family:var(--font-primary);font-size:13px;font-weight:300;color:rgba(var(--vsg-purple-rgb),.85)}.character-metadata .metadata-value.status-dead{color:var(--vsg-magenta);font-weight:300}.character-metadata.dead-character .metadata-value,.character-metadata.dead-character .metadata-label{color:var(--vsg-magenta)}.metadata-edit-btn{padding:4px 12px;font-family:var(--font-primary);font-size:12px;background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;color:var(--vsg-purple);cursor:pointer;transition:all .2s ease}.metadata-edit-btn:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.5)}.metadata-edit-group{display:flex;align-items:center;gap:8px;flex:1;min-width:0;overflow:hidden}.metadata-input{flex:1;padding:6px 10px;font-family:var(--font-primary);font-size:13px;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;color:#fff;outline:none;min-width:0}.metadata-input:focus{border-color:rgba(var(--vsg-purple-rgb),.6);background:#000000b3}.metadata-select{padding:6px 32px 6px 10px;font-family:var(--font-primary);font-size:13px;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;color:#fff;cursor:pointer;outline:none;min-width:0;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CD43FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 8px center;background-size:16px}.metadata-select:focus{border-color:rgba(var(--vsg-purple-rgb),.6)}.metadata-save-btn{padding:6px 14px;font-family:var(--font-primary);font-size:12px;background:rgba(var(--vsg-purple-rgb),.2);border:1px solid rgba(var(--vsg-purple-rgb),.5);border-radius:4px;color:var(--vsg-purple);cursor:pointer;transition:all .2s ease;font-weight:400}.metadata-save-btn:hover{background:rgba(var(--vsg-purple-rgb),.3);border-color:rgba(var(--vsg-purple-rgb),.7)}.metadata-cancel-btn{padding:6px 14px;font-family:var(--font-primary);font-size:12px;background:transparent;border:1px solid rgba(var(--vsg-magenta-rgb),.3);border-radius:4px;color:var(--vsg-magenta);cursor:pointer;transition:all .2s ease}.metadata-cancel-btn:hover{background:rgba(var(--vsg-magenta-rgb),.1);border-color:rgba(var(--vsg-magenta-rgb),.5)}.metadata-truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;min-width:0}.history-icon{font-size:13px;line-height:1}.history-label{text-transform:uppercase}.metadata-history-modal{position:relative;background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:12px;width:90%;max-width:1000px;max-height:calc(80 * var(--vh-fit));display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.metadata-history-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05)}.metadata-history-modal-header h2{font-family:var(--font-primary);color:var(--vsg-purple);font-size:1.25rem;font-weight:400;flex:1;text-align:center;margin:0;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5)}.metadata-history-modal-body{padding:16px 24px;overflow-y:auto;flex:1}.metadata-history-loading,.metadata-history-empty{font-family:var(--font-primary);font-size:13px;color:rgba(var(--vsg-purple-rgb),.6);text-align:center;padding:24px 0}.metadata-history-table{width:100%;border-collapse:collapse;font-family:var(--font-primary);font-size:13px}.metadata-history-table th{font-weight:400;font-size:11px;color:var(--vsg-purple);text-transform:uppercase;letter-spacing:.5px;padding:8px 12px;text-align:left;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);position:sticky;top:0;background:rgba(var(--vsg-surface-rgb),.95)}.metadata-history-table td{padding:8px 12px;color:#ffffffd9;border-bottom:1px solid rgba(255,255,255,.05)}.metadata-history-table tr:last-child td{border-bottom:none}.metadata-history-table .history-session{color:rgba(var(--vsg-purple-rgb),.8);font-weight:400;white-space:nowrap}.metadata-history-table .history-location{display:inline-block}.metadata-history-table .status-dead{color:var(--vsg-magenta)}.metadata-history-table .history-description{white-space:normal;max-width:600px;line-height:1.4}.metadata-kill-count.clickable{color:var(--vsg-error);cursor:pointer;transition:all .2s ease}.metadata-kill-count.clickable:hover{text-shadow:0 0 8px rgba(var(--vsg-error-rgb),.4)}.metadata-kill-count-zero{color:#fff6}.metadata-autocomplete{position:absolute;top:100%;left:0;right:0;background:#000000f2;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;z-index:100;max-height:120px;overflow-y:auto}.metadata-autocomplete-item{display:block;width:100%;padding:4px 10px;background:transparent;border:none;color:#fffc;font-family:var(--font-primary);font-size:12px;font-weight:400;text-align:left;cursor:pointer;transition:background .15s ease}.metadata-autocomplete-item:hover{background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple)}.info-icon-medium{width:32px;height:32px}.info-icon-small{width:24px;height:24px}.info-icon-medium .info-svg{width:20px;height:20px}.info-icon-small .info-svg{width:16px;height:16px}.gm-canon-lock{display:inline-flex;align-items:center;gap:6px;margin-top:-4px}.gm-canon-lock .info-icon{width:18px;height:18px;padding:2px}.gm-canon-lock .info-svg{width:14px;height:14px}.gm-canon-lock-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:rgba(var(--vsg-purple-rgb),.6);-webkit-user-select:none;user-select:none;cursor:pointer}.gm-canon-lock-label.locked{color:var(--vsg-purple)}.scope-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:11000}.scope-dialog{position:relative;background:#000000f2;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;padding:24px;max-width:420px;width:90%;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.15);display:flex;flex-direction:column;gap:16px}.scope-dialog-title{font-family:var(--font-primary);font-weight:400;font-size:16px;color:#ffffffe6;margin:0}.scope-dialog-message{font-family:var(--font-primary);font-weight:400;font-size:13px;color:#fff9;margin:0;line-height:1.4}.scope-dialog-desc-area{min-height:36px}.scope-dialog-desc{font-family:var(--font-primary);font-weight:400;font-size:12px;color:#ffffff80;margin:0;line-height:1.4}.scope-dialog-warning{font-family:var(--font-primary);font-weight:400;font-size:12px;color:rgba(var(--vsg-magenta-rgb),.8);margin:4px 0 0;line-height:1.4}.scope-dialog-actions{display:flex;justify-content:flex-end;gap:10px}.advancement-bar{position:sticky;top:0;z-index:10;padding:.75rem 1.25rem;background:#000000d9;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;margin:0 1.5rem 1rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.advancement-bar-header{margin-bottom:.5rem}.advancement-bar-title{font-size:.95rem;font-weight:400;color:var(--vsg-purple);text-transform:uppercase;letter-spacing:.5px}.advancement-bar-pools{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.advancement-pool-row{display:flex;flex-direction:column;gap:.25rem}.advancement-pool-row.overspent .advancement-pool-remaining{color:var(--vsg-error)}.advancement-pool-info{display:flex;align-items:center;gap:.5rem}.advancement-pool-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;border:1px solid rgba(255,255,255,.2)}.advancement-pool-remaining{font-size:.8rem;font-weight:400;color:var(--vsg-purple);margin-left:auto}.advancement-pool-bar{position:relative;height:6px;background:rgba(var(--vsg-purple-rgb),.15);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:3px;overflow:hidden}.advancement-pool-bar-fill{position:absolute;top:0;left:0;height:100%;background:rgba(var(--vsg-purple-rgb),.5);border-radius:3px;transition:width .3s ease}.advancement-pool-bar-pending{position:absolute;top:0;height:100%;background:var(--vsg-purple);border-radius:3px;transition:width .3s ease,left .3s ease;animation:pendingPulse 2s ease-in-out infinite}.advancement-pool-row.overspent .advancement-pool-bar{border-color:rgba(var(--vsg-error-rgb),.4)}.advancement-pool-row.overspent .advancement-pool-bar-fill{background:rgba(var(--vsg-error-rgb),.5)}.advancement-pool-row.overspent .advancement-pool-bar-pending{background:var(--vsg-error)}@keyframes pendingPulse{0%,to{opacity:1}50%{opacity:.7}}.advancement-bar-pending{margin-bottom:.5rem;padding:.5rem 0;border-top:1px solid rgba(var(--vsg-purple-rgb),.15)}.advancement-pending-list{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.advancement-pending-item{font-size:.8rem;color:var(--text-primary, rgba(255, 255, 255, .88));padding:.15rem .5rem;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:4px}.advancement-pending-total{font-size:.8rem;font-weight:400;color:var(--vsg-purple)}.advancement-no-pending{font-size:.8rem;color:var(--text-secondary, rgba(255, 255, 255, .63));font-style:normal}.advancement-bar-warning{padding:.35rem .5rem;margin-bottom:.5rem;font-size:.8rem;font-weight:400;color:var(--vsg-error);background:rgba(var(--vsg-error-rgb),.1);border:1px solid rgba(var(--vsg-error-rgb),.3);border-radius:4px}.advancement-bar-actions{display:flex;gap:.5rem;justify-content:flex-end}.advancement-bar--compact{position:static;margin:0;padding:0;width:auto;max-width:none;background:none;border:none;border-radius:0;-webkit-backdrop-filter:none;backdrop-filter:none;display:flex;flex-direction:row;align-items:center;gap:.75rem}.advancement-bar--compact .advancement-bar-pools{flex:0 0 auto;gap:.1rem;margin:0}.advancement-bar--compact .advancement-pool-row{flex-direction:row;align-items:center;gap:.4rem}.advancement-bar--compact .advancement-pool-info{flex:0 0 auto;gap:.35rem}.advancement-bar--compact .advancement-pool-name{font-size:.78rem}.advancement-bar--compact .advancement-pool-remaining{font-size:.72rem;margin-left:.35rem}.advancement-bar--compact .advancement-pool-bar{display:none}.advancement-bar--compact .advancement-bar-actions{flex:0 0 auto;gap:.4rem;justify-content:flex-start}.advancement-bar--compact .advancement-bar-actions button{padding:.3rem .7rem;font-size:.78rem}.advancement-bar--compact .advancement-bar-pending,.advancement-bar--compact .advancement-bar-warning{margin:0;padding:0;border:none}.advancement-bar--compact .advancement-pending-item,.advancement-bar--compact .advancement-pending-total{font-size:.7rem}.auto-fill-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:10000;animation:autoFillFadeIn .2s ease-out}@keyframes autoFillFadeIn{0%{opacity:0}to{opacity:1}}.auto-fill-modal{background:#000000e6;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;padding:32px;width:440px;max-width:calc(90 * var(--vw-fit));font-family:var(--font-primary);color:#ffffffe6}.auto-fill-modal h2{margin:0 0 24px;font-size:18px;font-weight:400;color:#fffffff2;letter-spacing:.02em}.auto-fill-chip-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.auto-fill-chip-row:has(.godlike-chip),.auto-fill-chip-row:has(.story-chip){justify-content:center}.auto-fill-chip{padding:8px 16px;border-radius:8px;border:1px solid rgba(var(--vsg-purple-rgb),.15);background:#00000080;color:var(--vsg-purple);font-family:var(--font-primary);font-size:13px;font-weight:400;cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none}.auto-fill-chip:hover{border-color:rgba(var(--vsg-purple-rgb),.3);background:rgba(var(--vsg-purple-rgb),.08)}.auto-fill-chip.selected{background:rgba(var(--vsg-purple-rgb),.15);border-color:rgba(var(--vsg-purple-rgb),.4);color:var(--vsg-purple)}.auto-fill-chip.story-chip.selected{--glow-rest: var(--glow-button-rest);--glow-peak: var(--glow-button-peak);--glow-period: var(--glow-button-period)}.auto-fill-chip.godlike-chip{border-color:rgba(var(--vsg-magenta-rgb),.2);color:var(--vsg-magenta)}.auto-fill-chip.godlike-chip:hover{border-color:rgba(var(--vsg-magenta-rgb),.4);background:rgba(var(--vsg-magenta-rgb),.08)}.auto-fill-chip.godlike-chip.selected{background:rgba(var(--vsg-magenta-rgb),.15);border-color:rgba(var(--vsg-magenta-rgb),.4);color:var(--vsg-magenta);--glow-rest: var(--glow-button-magenta-rest);--glow-peak: var(--glow-button-magenta-peak);--glow-period: var(--glow-button-period)}.auto-fill-godlike-desc{font-size:11px;font-weight:400;color:rgba(var(--vsg-magenta-rgb),.5);margin-top:4px;margin-bottom:8px;text-align:center;font-family:var(--font-primary)}.auto-fill-separator{text-align:center;color:#fff6;font-weight:400;font-size:12px;font-family:var(--font-primary);margin:16px 0;letter-spacing:.05em}.auto-fill-label{font-size:13px;font-weight:400;color:#ffffffb3;margin-bottom:8px}.auto-fill-specific-row{display:flex;gap:16px;margin-bottom:8px}.auto-fill-input-group{flex:1;display:flex;flex-direction:column;gap:4px}.auto-fill-input-group label{font-size:12px;font-weight:400;color:#ffffff80}.auto-fill-input-group input{background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:6px;padding:8px 12px;color:#ffffffe6;font-family:var(--font-primary);font-variant-numeric:tabular-nums;font-weight:400;font-size:14px;outline:none;transition:border-color .15s ease}.auto-fill-input-group input:focus{border-color:rgba(var(--vsg-purple-rgb),.4)}.auto-fill-input-group input::placeholder{color:#ffffff40}.auto-fill-footer{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;align-items:center}.auto-fill-error{flex:1;color:var(--vsg-magenta);font-size:12px;font-weight:400}.auto-fill-loading{display:flex;align-items:center;gap:8px;color:#fff9;font-size:13px}.dot-layer-legend{display:flex;flex-wrap:wrap;gap:.5em;align-items:center;padding:.25em 0;font-size:.85em;opacity:.85}.dot-layer-legend__chip{display:inline-flex;align-items:center;gap:.35em;line-height:1}.dot-layer-legend__swatch{display:inline-block;width:.7em;height:.7em;border-radius:50%;border:1px solid rgba(0,0,0,.15);flex-shrink:0}.dot-layer-legend__label{white-space:nowrap}.character-sheet-renderer{display:flex;flex-direction:column;height:100%;background:var(--bg-primary, var(--vsg-surface));color:var(--text-primary, rgba(255, 255, 255, .88))}.character-sheet-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1rem}.character-sheet-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1rem;padding:2rem;text-align:center}.character-sheet-error .error-icon{font-size:3rem;color:var(--vsg-magenta)}.character-sheet-error h3{margin:0;font-size:1.3rem;color:var(--text-primary, rgba(255, 255, 255, .88))}.character-sheet-error p{margin:0;font-size:.95rem;color:var(--text-secondary, rgba(255, 255, 255, .63));max-width:500px}.btn-retry{padding:.75rem 1.5rem;background:var(--primary-color, var(--vsg-info));border:none;border-radius:6px;color:#fff;font-size:.95rem;font-weight:400;cursor:pointer;transition:background .2s}.btn-retry:hover{background:var(--primary-hover, var(--vsg-info))}.character-sheet-header{position:relative;display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.5rem 2.25rem;background:rgba(var(--vsg-purple-rgb),.12);border-bottom:1px solid rgba(var(--vsg-purple-rgb),.4)}.header-title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.header-title-row h2{margin:0;font-size:1.5rem;font-weight:400;color:var(--text-primary, rgba(255, 255, 255, .88))}.header-title-row .header-field-dropdown{margin-left:auto;flex-shrink:0}.header-info h2{margin:0 0 .25rem;font-size:1.5rem;font-weight:400;color:var(--text-primary, rgba(255, 255, 255, .88))}.sheet-description-row{display:flex;align-items:center;gap:.75rem;margin-top:.25rem}.sheet-description{margin:0;font-size:.85rem;color:var(--text-secondary, rgba(255, 255, 255, .63));white-space:nowrap}.header-field-dropdown{margin-left:auto;flex-shrink:0}.version-switcher{display:flex;align-items:center;gap:.75rem;margin-top:.75rem;padding:.75rem;background:rgba(var(--vsg-info-rgb),.1);border:1px solid rgba(var(--vsg-info-rgb),.3);border-radius:6px}.version-switcher label{font-size:.9rem;font-weight:400;color:var(--text-primary, rgba(255, 255, 255, .88));margin:0}.switching-indicator{font-size:.85rem;color:var(--primary-color, var(--vsg-info));font-style:normal}:where(.character-sheet-renderer,.character-sheet-loading,.character-sheet-error) .header-actions{display:flex;align-items:center}.unsaved-indicator{font-size:.85rem;color:var(--warning-color, var(--vsg-caution));display:flex;align-items:center;gap:.35rem}.unsaved-indicator:before{content:"●";font-size:.8rem}.saving-indicator{font-size:.85rem;color:var(--primary-color, var(--vsg-info));display:flex;align-items:center;gap:.5rem}.saving-indicator .unified-spinner-inline-wrapper{display:inline-flex}.last-saved{font-size:.8rem;color:var(--text-secondary, rgba(255, 255, 255, .63))}.btn-save{padding:.65rem 1.25rem;background:var(--primary-color, var(--vsg-info));border:none;border-radius:6px;color:#fff;font-size:.9rem;font-weight:400;cursor:pointer;transition:all .2s}.btn-save:hover:not(:disabled){background:var(--primary-hover, var(--vsg-info))}.btn-save:disabled{opacity:.5;cursor:not-allowed}.character-sheet-error-banner{display:flex;align-items:center;gap:.75rem;margin:1rem 1.5rem;padding:1rem;background:rgba(var(--vsg-error-rgb),.1);border:1px solid rgba(var(--vsg-error-rgb),.3);border-radius:6px;color:var(--vsg-magenta);font-size:.9rem}.character-sheet-error-banner .error-icon{font-size:1.2rem}.character-sheet-content{flex:1;overflow-y:auto;padding:.5rem}.sheet-section{margin-bottom:2rem;background:rgba(var(--vsg-purple-rgb),.08);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;overflow:visible}:where(.character-sheet-renderer,.character-sheet-loading,.character-sheet-error) .section-header{display:flex;align-items:center;justify-content:space-between}.section-collapse-btn{background:transparent;border:none;color:var(--text-secondary, rgba(255, 255, 255, .63));cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;transition:color .2s}.section-collapse-btn:hover{color:var(--text-primary, rgba(255, 255, 255, .88))}.section-columns{display:grid;gap:1.5rem;padding:1.5rem}.sheet-column{display:flex;flex-direction:column;gap:.75rem}.column-title{margin:0 0 1rem;font-size:1.1rem;font-weight:400;color:var(--text-primary, rgba(255, 255, 255, .88));padding-bottom:.75rem;border-bottom:1px solid var(--border-color, rgba(var(--vsg-purple-rgb), .2))}:where(.character-sheet-renderer,.character-sheet-loading,.character-sheet-error) .column-fields{display:grid;grid-template-columns:auto 1fr;grid-auto-rows:minmax(36px,auto);gap:.75rem 1rem;align-items:center}.character-sheet-renderer.theme-compact .section-columns{gap:1.5rem;padding:1rem}.character-sheet-renderer.theme-compact .column-fields{gap:.85rem}.character-sheet-renderer.theme-spacious .section-columns{gap:2.5rem;padding:2rem}.character-sheet-renderer.theme-spacious .column-fields{gap:1.75rem}@media (max-width: 600px){.character-sheet-header{flex-direction:column;align-items:stretch;gap:1rem}.character-sheet-content{padding:.25rem}.section-columns{grid-template-columns:1fr!important;gap:1.5rem}}.character-sheet-content.advancement-active .field-container{transition:background-color .15s ease}.field-lock-message{margin-top:.25rem;font-size:.75rem;color:var(--text-secondary, rgba(255, 255, 255, .63));font-style:normal}.character-sheet-renderer .action-icon.visibility-icon{padding:4px;background:transparent;border:none;color:var(--vsg-purple);cursor:pointer;opacity:.5;transition:all .2s ease;display:inline-flex;align-items:center}.character-sheet-renderer .action-icon.visibility-icon:hover{opacity:1;transform:scale(1.2)}.character-sheet-renderer .action-icon.visibility-icon.active{opacity:.9}.sheet-section.section-revealed{border:1px dashed rgba(var(--vsg-purple-rgb),.15);border-radius:8px}.header-dot-legend{position:absolute;right:1.25rem;bottom:.5rem;max-width:60%;display:flex;justify-content:flex-end}.header-dot-legend .dot-layer-legend{margin:0;flex-wrap:wrap;justify-content:flex-end;font-size:.7rem}.dot-legend-corner{position:sticky;bottom:0;display:flex;justify-content:flex-end;padding:.4rem 1rem .5rem;background:linear-gradient(to top,#000000e6,#0000);pointer-events:none;z-index:5}.dot-legend-corner .dot-layer-legend{margin:0;pointer-events:auto;flex-wrap:wrap;justify-content:flex-end}.class-select-step{display:flex;flex-direction:column;gap:1rem}.class-select-prompt{font-family:var(--font-primary);font-size:1rem;color:#fffc;text-align:center;margin:0}.class-select-cards{display:flex;flex-direction:column;gap:.5rem}.class-select-card{display:flex;flex-direction:column;gap:.35rem;padding:.8rem 1rem;background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:left;color:#ffffffe6;font-family:inherit;font-size:inherit}.class-select-card:hover:not(.disabled){background:#0000008c;border-color:rgba(var(--vsg-purple-rgb),.35)}.class-select-card.selected{background:rgba(var(--vsg-purple-rgb),.12);border-color:rgba(var(--vsg-purple-rgb),.6);box-shadow:0 0 12px rgba(var(--vsg-purple-rgb),.2)}.class-select-card.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.class-select-card-name{font-family:var(--font-primary);font-size:1.05rem;font-weight:400;letter-spacing:.3px}.class-select-card-info{font-size:.85rem;color:#fff9;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.class-select-new{color:rgba(var(--vsg-purple-rgb),.8)}.class-select-locked{color:rgba(var(--vsg-error-rgb),.7)}.class-select-prereq-badge{font-size:.75rem;padding:.15rem .5rem;border-radius:4px;font-weight:400}.class-select-prereq-badge.met{background:rgba(var(--vsg-success-rgb),.12);color:rgba(var(--vsg-success-rgb),.71);border:1px solid rgba(var(--vsg-success-rgb),.24)}.levelup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.levelup-wizard{display:flex;flex-direction:column;width:90%;max-width:640px;max-height:calc(85 * var(--vh-fit));background:#000000eb;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;overflow:hidden}.levelup-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:#0000004d;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.levelup-title{font-size:1.1rem;font-weight:400;color:var(--vsg-purple);margin:0}.levelup-level-name{font-size:.85rem;color:var(--text-secondary, rgba(255, 255, 255, .63))}.levelup-header .modal-close-btn{margin-left:auto}.levelup-auto-grants{padding:.75rem 1.25rem;background:rgba(var(--vsg-success-rgb),.07);border-bottom:1px solid rgba(var(--vsg-success-rgb),.17)}.levelup-auto-grants-label{font-size:.8rem;font-weight:400;color:rgba(var(--vsg-success-rgb),.83);text-transform:uppercase;letter-spacing:.5px}.levelup-auto-grants-list{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.35rem}.levelup-auto-grant-item{font-size:.8rem;color:var(--text-primary, rgba(255, 255, 255, .88));padding:.15rem .5rem;background:rgba(var(--vsg-success-rgb),.08);border:1px solid rgba(var(--vsg-success-rgb),.17);border-radius:4px}.levelup-step-progress{display:flex;align-items:center;gap:.75rem;padding:.5rem 1.25rem;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.1)}.levelup-step-indicator{font-size:.8rem;color:var(--text-secondary, rgba(255, 255, 255, .63))}.levelup-step-dots{display:flex;gap:.35rem}.levelup-step-dot{width:10px;height:10px;border-radius:50%;background:rgba(var(--vsg-purple-rgb),.15);border:1px solid rgba(var(--vsg-purple-rgb),.3);transition:all .2s ease}.levelup-step-dot.active{background:var(--vsg-purple);box-shadow:0 0 8px rgba(var(--vsg-purple-rgb),.4)}.levelup-step-dot.completed{background:rgba(var(--vsg-success-rgb),.83);border-color:rgba(var(--vsg-success-rgb),.41)}.levelup-step-content{flex:1;overflow-y:auto;padding:1.25rem}.levelup-step-title{font-size:1rem;font-weight:400;color:var(--text-primary, rgba(255, 255, 255, .88));margin:0 0 .5rem}.levelup-step-description{font-size:.85rem;color:var(--text-secondary, rgba(255, 255, 255, .63));margin:0 0 1rem}.levelup-no-steps{text-align:center;padding:2rem;color:var(--text-secondary, rgba(255, 255, 255, .63))}.levelup-navigation{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;border-top:1px solid rgba(var(--vsg-purple-rgb),.2);background:#0000004d}.levelup-nav-right{display:flex;gap:.5rem}.roll-step-view{display:flex;flex-direction:column;gap:1rem}.roll-step-target{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:rgba(var(--vsg-purple-rgb),.08);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:6px}.roll-step-field-label{font-size:.85rem;color:var(--text-primary, rgba(255, 255, 255, .88));font-weight:400}.roll-step-current{font-size:.8rem;color:var(--text-secondary, rgba(255, 255, 255, .63))}.roll-step-dice-area{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1rem}.roll-step-expression{font-size:1.5rem;font-weight:400;color:var(--vsg-purple)}.roll-step-bonus-formula{font-size:.9rem;font-weight:400;color:var(--text-secondary, rgba(255, 255, 255, .63))}.roll-step-result{display:flex;flex-direction:column;align-items:center;gap:.75rem}.roll-step-result-display{display:flex;align-items:baseline;gap:.35rem;font-size:1.5rem}.roll-step-result-dice{font-weight:400;color:var(--text-primary, rgba(255, 255, 255, .88))}.roll-step-result-plus,.roll-step-result-equals{color:var(--text-secondary, rgba(255, 255, 255, .63));font-weight:400}.roll-step-result-bonus{font-weight:400;color:rgba(var(--vsg-success-rgb),.83)}.roll-step-result-total{font-weight:400;font-size:1.8rem;color:var(--vsg-purple)}.roll-step-minimum-note{font-size:.75rem;color:var(--text-secondary, rgba(255, 255, 255, .63));font-style:normal}.allocate-step-view{display:flex;flex-direction:column;gap:1rem}.allocate-step-budget{display:flex;align-items:center;gap:1rem;padding:.5rem .75rem;background:rgba(var(--vsg-purple-rgb),.08);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:6px}.allocate-step-budget-label{font-size:.85rem;font-weight:400;color:var(--text-primary, rgba(255, 255, 255, .88))}.allocate-step-remaining{font-size:.85rem;font-weight:400;color:var(--vsg-purple);margin-left:auto}.allocate-step-remaining.complete{color:rgba(var(--vsg-success-rgb),.83)}.allocate-step-max-hint{font-size:.75rem;color:var(--text-secondary, rgba(255, 255, 255, .63))}.allocate-step-fields{display:flex;flex-direction:column;gap:.5rem}.allocate-step-row{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.1);border-radius:6px}.allocate-step-field-name{font-size:.9rem;color:var(--text-primary, rgba(255, 255, 255, .88));min-width:120px}.allocate-step-field-value{font-size:.9rem;font-weight:400;color:var(--text-primary, rgba(255, 255, 255, .88));min-width:60px}.allocate-step-field-delta{color:rgba(var(--vsg-success-rgb),.83);font-weight:400}.allocate-step-controls{display:flex;gap:.35rem;margin-left:auto}.allocate-step-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:4px;background:#00000080;color:var(--vsg-purple);font-size:1rem;font-weight:400;cursor:pointer;transition:all .15s ease;padding:0}.allocate-step-btn:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.15);border-color:rgba(var(--vsg-purple-rgb),.6)}.allocate-step-btn:disabled{opacity:.3;cursor:not-allowed}.allocate-step-btn--plus:not(:disabled){color:rgba(var(--vsg-success-rgb),.83);border-color:rgba(var(--vsg-success-rgb),.33)}.allocate-step-btn--plus:hover:not(:disabled){background:rgba(var(--vsg-success-rgb),.12);border-color:rgba(var(--vsg-success-rgb),.5)}.select-step-view{display:flex;flex-direction:column;gap:.75rem}.select-step-header{display:flex;justify-content:space-between;align-items:center}.select-step-count{font-size:.85rem;font-weight:400;color:var(--text-primary, rgba(255, 255, 255, .88))}.select-step-selected{font-size:.8rem;color:var(--vsg-purple)}.select-step-options{display:flex;flex-direction:column;gap:.5rem}.select-step-option{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:8px;cursor:pointer;transition:all .15s ease;text-align:left;color:var(--text-primary, rgba(255, 255, 255, .88));font-family:inherit;font-size:inherit;width:100%}.select-step-option:hover:not(:disabled){border-color:rgba(var(--vsg-purple-rgb),.4);background:rgba(var(--vsg-purple-rgb),.05)}.select-step-option.selected{border-color:rgba(var(--vsg-success-rgb),.41);background:rgba(var(--vsg-success-rgb),.07)}.select-step-option.disabled{opacity:.4;cursor:not-allowed}.select-step-option-check{width:20px;height:20px;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:.75rem;color:rgba(var(--vsg-success-rgb),.83);flex-shrink:0;margin-top:.1rem}.select-step-option.selected .select-step-option-check{border-color:rgba(var(--vsg-success-rgb),.41);background:rgba(var(--vsg-success-rgb),.12)}.select-step-option-content{display:flex;flex-direction:column;gap:.2rem;min-width:0}.select-step-option-name{font-size:.9rem;font-weight:400}.select-step-option-desc{font-size:.8rem;color:var(--text-secondary, rgba(255, 255, 255, .63));line-height:1.4}.select-step-option-effects{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.25rem}.select-step-effect{font-size:.75rem;color:rgba(var(--vsg-success-rgb),.83);padding:.1rem .4rem;background:rgba(var(--vsg-success-rgb),.07);border:1px solid rgba(var(--vsg-success-rgb),.17);border-radius:3px}.class-level-manager-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:1100}.class-level-manager{background:rgba(var(--vsg-surface-rgb),.98);border:1px solid rgba(var(--vsg-purple-rgb),.25);border-radius:12px;width:90%;max-width:550px;max-height:calc(80 * var(--vh-fit));display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080,0 0 20px rgba(var(--vsg-purple-rgb),.1)}.class-level-manager-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15)}.class-level-manager-header h2{font-family:var(--font-primary);font-size:1.1rem;color:#fffffff2;margin:0}.class-level-manager-body{padding:1rem 1.25rem;overflow-y:auto;flex:1}.class-level-manager-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:.75rem 1.25rem;border-top:1px solid rgba(var(--vsg-purple-rgb),.15)}.class-level-summary{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1rem}.class-level-summary.compact{flex-direction:row;align-items:center;gap:.5rem;margin-bottom:0}.class-level-chips{display:flex;flex-wrap:wrap;gap:.4rem}.class-level-chip{font-family:var(--font-primary);font-size:.85rem;font-weight:400;padding:.2rem .6rem;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;color:rgba(var(--vsg-purple-rgb),.95);white-space:nowrap}.class-level-total{font-size:.8rem;color:#ffffff80}.class-level-summary.empty{color:#fff6;font-style:normal;font-size:.85rem}.level-history-table{margin-top:.5rem}.level-history-label{font-family:var(--font-primary);font-size:.9rem;color:#fffc;margin:0 0 .5rem}.level-history-empty{color:#fff6;font-style:normal;font-size:.85rem}.level-history-rows{display:flex;flex-direction:column;gap:2px}.level-history-header-row{display:grid;grid-template-columns:36px 1fr 90px 36px;gap:.5rem;padding:.3rem .5rem;font-size:.75rem;color:#ffffff73;text-transform:uppercase;letter-spacing:.5px}.level-history-row{display:grid;grid-template-columns:36px 1fr 90px 36px;gap:.5rem;padding:.35rem .5rem;background:#0000004d;border-radius:4px;align-items:center;transition:background .15s ease}.level-history-row:hover{background:#00000073}.level-history-num{font-size:.85rem;color:#fff9;text-align:center}.level-history-class-select{background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:4px;color:#ffffffe6;padding:.25rem .4rem;font-size:.85rem;cursor:pointer}.level-history-date{font-size:.8rem;color:#ffffff73}.level-history-remove{background:none;border:none;color:rgba(var(--vsg-error-rgb),.5);cursor:pointer;font-size:1rem;padding:.15rem;border-radius:4px;transition:all .15s ease;text-align:center}.level-history-remove:hover{color:rgba(var(--vsg-error-rgb),.9);background:rgba(var(--vsg-error-rgb),.1)}.level-history-remove.confirm{color:rgba(var(--vsg-error-rgb),.95);background:rgba(var(--vsg-error-rgb),.15);font-size:.7rem;font-weight:400}.level-history-add-row{display:flex;gap:.5rem;align-items:center;margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(var(--vsg-purple-rgb),.1)}.level-history-add-row .level-history-class-select{flex:1}.character-sheet-modal{background:transparent;border:2px solid rgba(var(--vsg-purple-rgb),.4);border-radius:16px;box-shadow:0 8px 32px #000c,0 0 60px rgba(var(--vsg-purple-rgb),.3);width:calc(95 * var(--vw-fit));height:calc(90 * var(--vh-fit));display:flex;flex-direction:column;overflow:hidden;animation:slideUp .4s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.character-sheet-modal .modal-header{display:flex;justify-content:center;align-items:center;padding:1rem 2rem;border-bottom:2px solid rgba(var(--vsg-purple-rgb),.3);background:rgba(var(--vsg-purple-rgb),.05);position:relative}.character-sheet-modal .modal-header .modal-close-button{position:absolute;right:1rem;top:50%;transform:translateY(-50%)}.character-sheet-modal .modal-header .trash-icon{position:absolute;right:3.5rem;top:50%;transform:translateY(-50%)}.character-sheet-modal .modal-header .header-field-dropdown{position:absolute;right:6rem;top:50%;transform:translateY(-50%);max-width:200px}.character-sheet-modal .modal-header h2{margin:0;font-family:var(--font-primary);font-size:1.8rem;color:var(--vsg-purple);text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5);text-align:center}:where(.character-sheet-modal) .modal-body{flex:1;overflow-y:auto;padding:1rem;background:#0000004d}:where(.character-sheet-modal) .modal-body:has(.creation-wizard){padding:0;overflow:hidden}:where(.character-sheet-modal) .modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1.5rem}:where(.character-sheet-modal) .modal-loading p{color:#fffc;font-size:1.2rem}:where(.character-sheet-modal) .modal-body::-webkit-scrollbar{width:12px}:where(.character-sheet-modal) .modal-body::-webkit-scrollbar-track{background:#0000004d;border-radius:6px}:where(.character-sheet-modal) .modal-body::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.4);border-radius:6px}:where(.character-sheet-modal) .modal-body::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.6)}.sheet-selection{display:flex;flex-direction:column;align-items:center;gap:2rem;padding:2rem;min-height:400px}.sheet-selection h3{margin:0;font-family:var(--font-primary);font-size:1.6rem;color:var(--vsg-purple);text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5);text-align:center}@media (max-width: 600px){.character-sheet-modal{width:calc(100 * var(--vw-fit));height:calc(100 * var(--vh-fit));border-radius:0;max-width:100%}.character-sheet-modal .modal-header{padding:.75rem 1rem}.character-sheet-modal .modal-header h2{font-size:1.4rem}:where(.character-sheet-modal) .modal-body{padding:1rem}}.advancement-hook{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:0 1.5rem .75rem}.level-progress-hint{font-size:.8rem;color:var(--text-secondary, rgba(255, 255, 255, .63));margin-right:auto}.multiclass-summary-inline{display:flex;align-items:center;gap:.5rem;margin-right:auto;padding:0 1.5rem .5rem}.multiclass-edit-btn{background:none;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:4px;color:rgba(var(--vsg-purple-rgb),.7);cursor:pointer;font-size:.9rem;padding:.15rem .4rem;transition:all .15s ease}.multiclass-edit-btn:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.4);color:rgba(var(--vsg-purple-rgb),.95)}.characters-tab{width:100%;animation:fadeIn .3s ease}.characters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:25px;padding:20px 10px 10px}.empty-characters{display:flex;align-items:center;justify-content:center;min-height:400px;text-align:center}.empty-content p{color:#fff9;font-size:14px}.ai-tab{width:100%;margin:0;padding:0 2rem 40px}.ai-tab-toggle{display:table;margin:0 auto 30px}.ai-tab .content-filter{margin-bottom:25px}.ai-content{display:flex;flex-direction:column;gap:30px;align-items:center}.subscription-card,.installation-card,.familiar-card,.models-card{width:100%;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.card-header{padding:20px 30px;background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.15),rgba(var(--vsg-purple-rgb),.06));border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);display:flex;justify-content:center;align-items:center;gap:12px;position:relative;box-sizing:border-box}.ai-tab .card-header .status-badge{position:absolute;right:30px;top:50%;transform:translateY(-50%)}.card-header h3{margin:0;font-size:22px;font-family:var(--font-primary);color:#fff;letter-spacing:1px;text-align:center;text-shadow:-.5px -.5px 0 #000000,.5px -.5px 0 #000000,-.5px .5px 0 #000000,.5px .5px 0 #000000}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-family:var(--font-primary);letter-spacing:.5px;text-transform:uppercase;font-weight:400}.status-badge.active{background:rgba(var(--vsg-success-rgb),.14);color:rgba(var(--vsg-success-rgb),.69);border:1px solid rgba(var(--vsg-success-rgb),.27)}.status-badge.pending{background:rgba(var(--vsg-error-rgb),.2);color:var(--vsg-error);border:1px solid rgba(var(--vsg-error-rgb),.4)}.success-text{color:var(--vsg-purple)!important}.card-content{padding:30px;display:flex;flex-direction:column;align-items:center;gap:25px;text-align:center}.main-text{font-size:18px;line-height:1.8;color:#ffffffe6;max-width:600px;font-family:var(--font-primary);letter-spacing:.5px}.familiar-intro{font-size:17px;line-height:1.8;color:#ffffffd9;max-width:600px;font-family:var(--font-primary);letter-spacing:.5px}.ai-tab .fantamaster-button{min-width:280px}.user-type-section{margin-top:30px;width:100%;max-width:600px}.user-type-title{font-family:var(--font-primary);color:var(--vsg-purple);font-size:18px;font-weight:300;letter-spacing:.5px;margin:0 0 20px;text-align:center}.user-type-toggle{display:table;margin:0 auto 20px}.user-type-section .content-filter{margin-bottom:25px}.usage-description{padding:20px;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;transition:all .3s ease}@media (max-width: 600px){.ai-tab{padding:30px 15px}.main-text{font-size:16px}.familiar-intro{font-size:15px}.ai-tab .fantamaster-button{width:100%;max-width:300px;min-width:unset}}.familiar-tab{width:100%;max-width:700px;margin:0 auto;padding:40px 20px}.familiar-form{background:#0009;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:16px;padding:40px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #0006}.form-header{margin-bottom:40px;text-align:center}.familiar-description{font-size:16px;line-height:1.8;color:#ffffffe6;font-family:var(--font-primary);max-width:600px;margin:0 auto}.form-section{margin-bottom:35px}.familiar-input{width:100%;padding:14px 18px;background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:#fff;font-size:15px;font-family:var(--font-primary);transition:all .3s ease;outline:none}.familiar-input:focus{border-color:rgba(var(--vsg-purple-rgb),.6);background:#0009;box-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.2)}.familiar-input::placeholder{color:#fff6;font-style:normal}.familiar-textarea{width:100%;padding:14px 18px;background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:#fff;font-size:14px;font-family:var(--font-primary);line-height:1.6;transition:all .3s ease;outline:none;resize:vertical;min-height:120px;max-height:400px}.familiar-textarea:focus{border-color:rgba(var(--vsg-purple-rgb),.6);background:#0009;box-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.2)}.familiar-textarea::placeholder{color:#fff6;font-style:normal}:where(.familiar-tab) .form-actions{display:flex!important;justify-content:center!important;align-items:center!important;flex-direction:column!important;gap:20px;margin-top:40px;width:100%}:where(.familiar-tab) .summon-familiar-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff1a;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease}:where(.familiar-tab) .summon-familiar-btn:hover:before{width:300px;height:300px}.debug-mode-toggle{display:flex;align-items:center;gap:8px;padding:8px 16px;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;cursor:pointer;transition:all .3s ease;font-size:14px;color:var(--vsg-info);font-family:var(--font-primary)}.debug-mode-toggle:hover{background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.5)}.debug-mode-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--vsg-purple)}.debug-mode-toggle span{-webkit-user-select:none;user-select:none}.launch-status{margin-top:20px;padding:15px;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;text-align:center}.launch-status p{color:var(--vsg-purple);font-family:var(--font-primary);font-size:14px;margin:0;opacity:.9}@media (max-width: 600px){.familiar-tab{padding:30px 15px}.familiar-form{padding:30px 20px}.familiar-description{font-size:14px}.familiar-input,.familiar-textarea{font-size:14px;padding:12px 16px}.debug-mode-toggle{font-size:13px;padding:6px 12px}}.familiar-memory-panel{display:flex;flex-direction:column;gap:16px;font-family:var(--font-primary);font-weight:400}.familiar-memory-header{display:flex;flex-direction:column;gap:4px}.familiar-memory-panel .familiar-memory-title{margin:0;font-size:18px;font-weight:300;letter-spacing:.04em;color:var(--vsg-purple-bright)}.familiar-memory-panel .familiar-memory-description,.familiar-memory-panel .familiar-memory-empty{margin:0;font-size:14px;font-weight:300;line-height:1.6;color:rgba(var(--vsg-purple-rgb),.75)}.familiar-memory-body{display:flex;flex-direction:column;gap:14px}.familiar-memory-group{display:flex;flex-direction:column;gap:6px}.familiar-memory-panel .familiar-memory-group-title{margin:0;font-size:13px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:rgba(var(--vsg-purple-rgb),.85)}.familiar-memory-panel .familiar-memory-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.familiar-memory-row,.familiar-memory-note{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;font-weight:300;line-height:1.6}.familiar-memory-panel .familiar-memory-key{min-width:min-content;font-weight:400;color:var(--vsg-purple-bright)}.familiar-memory-panel .familiar-memory-value{flex:1 1 200px;color:rgba(var(--vsg-purple-rgb),.9)}.familiar-memory-game{display:flex;flex-direction:column;gap:4px;padding-left:8px;border-left:1px solid rgba(var(--vsg-purple-rgb),.25)}.familiar-memory-panel .familiar-memory-game-name{font-size:14px;font-weight:400;color:var(--vsg-purple-brighter)}.familiar-memory-actions{display:flex;justify-content:flex-end}.tool-card{width:100%;background:#000c;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;overflow:hidden;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;min-height:400px;display:flex;flex-direction:column;cursor:pointer}.tool-card:hover{transform:translateY(-5px);border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 10px 30px rgba(var(--vsg-purple-rgb),.2)}.tool-card-image{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.1),rgba(var(--vsg-purple-rgb),.1));overflow:hidden}.tool-card-image:hover .tool-card-image-overlay{opacity:1}.tool-card-icon-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.tool-card-initials{font-size:32px;font-weight:400;font-family:var(--font-primary);color:rgba(var(--vsg-purple-rgb),.9);letter-spacing:2px;text-shadow:0 2px 4px rgba(0,0,0,.5)}.tool-card-content{position:absolute;bottom:0;left:0;right:0;display:flex;flex-direction:column;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2}.tool-card-header{padding:12px 20px;background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.1),rgba(var(--vsg-purple-rgb),.06));border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.tool-name-row{display:flex;align-items:center;gap:8px}.tool-card-name{margin:0;font-size:22px;font-weight:400;font-family:var(--font-primary);color:#fffffff2;letter-spacing:.5px;line-height:1.3}.tool-card-body{padding:16px 20px;background:#0006}.tool-card-description{margin:0;font-size:14px;line-height:1.6;color:#ffffffbf}.tool-card-info-button{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:rgba(var(--vsg-purple-rgb),.8);cursor:pointer;transition:all .2s;padding:0}.tool-card-info-button:hover{color:var(--vsg-purple);transform:scale(1.15)}.tool-card-info-button svg{width:18px;height:18px}@media (max-width: 600px){.tool-card{min-height:350px}.tool-card-image{height:200px}.tool-card-initials{font-size:24px}.tool-card-name{font-size:20px}.tool-card-description{font-size:13px}.tool-card-content{padding:16px}}.tool-info-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:10000;padding:40px;animation:fadeIn .2s ease}.tool-info-modal{position:relative;background:transparent;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:16px;width:100%;max-width:900px;max-height:calc(85 * var(--vh-fit));display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #00000080,0 0 40px rgba(var(--vsg-purple-rgb),.1);animation:slideUp .3s ease}.tool-info-modal-bg{position:absolute;top:0;left:0;right:0;bottom:0;background-size:cover;background-position:center top;opacity:.3}.tool-info-modal-content{position:relative;z-index:1;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.tool-info-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px 16px}.tool-info-modal-title{margin:0;font-family:var(--font-primary);font-size:32px;font-weight:400;color:var(--vsg-purple);letter-spacing:1px;text-shadow:0 2px 10px rgba(var(--vsg-purple-rgb),.3)}.tool-info-modal-header-actions{display:flex;align-items:center;gap:8px}.tool-info-modal-body{flex:1;min-height:0;overflow-y:auto;padding:0 28px 24px;color:#ffffffd9;font-size:15px;line-height:1.7}.tool-info-modal-body p{margin:0 0 16px}.tool-info-modal-body p:last-child{margin-bottom:0}.tool-info-modal-body strong{color:var(--vsg-purple);font-weight:400}.tool-info-section{display:flex;gap:20px;margin-bottom:16px;align-items:flex-start}.tool-info-section-title{flex-shrink:0;width:180px;color:var(--vsg-purple);font-weight:400;font-size:14px;line-height:1.6}.tool-info-section-content{flex:1}.tool-info-section-content .tool-info-list{margin:0;padding-left:18px}.tool-info-section-content .tool-info-list li{margin-bottom:6px;line-height:1.6}.tool-info-section-content .tool-info-list li:last-child{margin-bottom:0}.tool-info-list{margin:0 0 16px;padding-left:24px}.tool-info-list li{margin-bottom:8px;color:#fffc}.tool-info-list li strong{color:var(--vsg-purple)}.tool-info-edit-textarea{width:100%;height:100%;min-height:300px;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;padding:16px;color:#ffffffe6;font-size:14px;font-family:var(--font-primary);line-height:1.6;resize:none}.tool-info-edit-textarea:focus{outline:none;border-color:rgba(var(--vsg-purple-rgb),.6);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.2)}.tool-info-edit-textarea::placeholder{color:#fff6}.tool-info-modal-footer{display:flex;justify-content:center;gap:12px;padding:16px 28px 24px}.tool-info-modal-body::-webkit-scrollbar{width:8px}.tool-info-modal-body::-webkit-scrollbar-track{background:rgba(var(--vsg-purple-rgb),.05);border-radius:4px}.tool-info-modal-body::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.3);border-radius:4px}.tool-info-modal-body::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.5)}.tool-edit-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:10000;padding:40px;animation:fadeIn .2s ease}.tool-edit-modal{position:relative;background:#000000f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:16px;width:100%;max-width:520px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #00000080,0 0 40px rgba(var(--vsg-purple-rgb),.1);animation:slideUp .3s ease}.tool-edit-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px 16px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.tool-edit-modal-title{margin:0;font-family:var(--font-primary);font-size:24px;font-weight:400;color:var(--vsg-purple);letter-spacing:1px}.tool-edit-modal-body{padding:24px 28px;display:flex;flex-direction:column;gap:20px}.tool-edit-image-section{display:flex;flex-direction:column;align-items:center;gap:12px}.tool-edit-image-preview{width:100%;aspect-ratio:16 / 9;border-radius:8px;border:1px solid rgba(var(--vsg-purple-rgb),.2);background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.1),rgba(var(--vsg-purple-rgb),.1));display:flex;align-items:center;justify-content:center;overflow:hidden}.tool-edit-no-image{color:#fff6;font-size:14px;font-family:var(--font-primary);letter-spacing:.5px}.tool-edit-field{display:flex;flex-direction:column;gap:6px}.tool-edit-label{font-family:var(--font-primary);font-size:14px;font-weight:400;color:var(--vsg-purple);letter-spacing:.5px}.tool-edit-input,.tool-edit-textarea{width:100%;padding:10px 14px;background:rgba(var(--vsg-purple-rgb),.08);border:1px solid rgba(var(--vsg-purple-rgb),.25);border-radius:8px;color:#ffffffe6;font-family:Lato,sans-serif;font-size:14px;line-height:1.5;transition:all .2s;box-sizing:border-box}.tool-edit-input:focus,.tool-edit-textarea:focus{outline:none;border-color:rgba(var(--vsg-purple-rgb),.6);background:rgba(var(--vsg-purple-rgb),.12);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.15)}.tool-edit-input::placeholder,.tool-edit-textarea::placeholder{color:#ffffff4d}.tool-edit-textarea{resize:vertical;min-height:60px}.tool-edit-modal-footer{display:flex;justify-content:center;gap:12px;padding:16px 28px 24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.15)}.tools-tab{width:100%;height:100%}.combined-card{display:inline-flex;flex-direction:column;align-items:center;margin:.5rem auto;padding:24px 40px;background:#000c;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:fit-content;max-width:95%;position:relative;overflow:visible}.combined-card:after{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(45deg,var(--vsg-purple),var(--vsg-purple),rgba(var(--vsg-purple-rgb),.83),rgba(var(--vsg-purple-rgb),.64),var(--vsg-purple),var(--vsg-purple),rgba(var(--vsg-purple-rgb),.83),rgba(var(--vsg-purple-rgb),.64));border-radius:12px;opacity:0;z-index:-1;transition:opacity .3s ease;background-size:400% 400%}.combined-card:hover:after{opacity:.3;animation:agentsCardGradientShift 10s ease infinite}@keyframes agentsCardGradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.combined-card .card-content{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:3rem;width:auto;flex-wrap:nowrap}.combined-card .agents-column{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex:0 0 auto}.combined-card .agent-tile{display:flex;flex-direction:column;align-items:center;width:100px}.combined-card .agent-tile-image{width:80px;height:80px;border:2px solid rgba(var(--vsg-purple-rgb),.2);border-radius:.75rem;box-shadow:0 6px 12px #0006;transition:all .3s ease;object-fit:cover;display:block}.combined-card .agent-tile-image:hover{transform:translateY(-3px);border-color:rgba(var(--vsg-purple-rgb),.4);box-shadow:0 10px 20px rgba(var(--vsg-purple-rgb),.2)}.combined-card .agent-tile-label{color:rgba(var(--vsg-purple-rgb),.8);font-size:.7rem;font-weight:300;line-height:1.3;text-align:center;margin-top:.5rem;white-space:nowrap}.combined-card .aisatnaf-center{display:flex;flex-direction:column;align-items:center;padding:0 2rem;flex:0 0 auto;min-width:250px}.combined-card .aisatnaf-content{display:flex;flex-direction:column;gap:.3rem;justify-content:space-between;min-height:180px;position:relative}.combined-card .aisatnaf-content:after{content:"";position:absolute;left:38px;top:0;bottom:0;width:1px;background:rgba(var(--vsg-purple-rgb),.3)}.combined-card .acronym-row{display:flex;align-items:center;justify-content:flex-start;padding:.4rem 0;border-radius:.5rem;transition:all .3s ease;cursor:default;position:relative;width:100%}.combined-card .acronym-row:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:.5rem;background:rgba(var(--vsg-purple-rgb),0);box-shadow:0 0 rgba(var(--vsg-purple-rgb),0);transition:all .3s ease}.combined-card .acronym-row:hover:before{background:rgba(var(--vsg-purple-rgb),.1);box-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.4),inset 0 0 15px rgba(var(--vsg-purple-rgb),.15)}.combined-card .acronym-row:hover .acronym-letter,.combined-card .acronym-row:hover .acronym-word{color:var(--vsg-purple);text-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.8),0 0 20px rgba(var(--vsg-purple-rgb),.4);transform:scale(1.05)}.combined-card .acronym-letter{color:var(--vsg-purple);font-size:1.2rem;font-weight:400;width:1.8rem;text-align:center;transition:all .3s ease;position:relative;z-index:1;margin-right:1.8rem}.combined-card .acronym-divider{display:none;z-index:1}.combined-card .acronym-word{color:rgba(var(--vsg-purple-rgb),.9);font-size:1.15rem;font-weight:300;transition:all .3s ease;position:relative;z-index:1}.combined-card .agents-title{color:var(--vsg-purple);font-size:1.3rem;font-weight:300;margin-bottom:.5rem;text-shadow:1px 1px 2px rgba(var(--vsg-purple-rgb),.25);text-align:center;width:100%}.submit-question-modal{background:transparent;border:2px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;width:90%;max-width:600px;box-shadow:0 0 40px rgba(var(--vsg-purple-rgb),.3),0 20px 60px #00000080;animation:slideUp .3s ease}:where(.submit-question-modal) .modal-header{padding:30px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);text-align:center}:where(.submit-question-modal) .modal-header h2{margin:0;font-family:var(--font-primary);font-size:28px;color:var(--vsg-purple);letter-spacing:1px;text-shadow:-1px -1px 0 #000000,1px -1px 0 #000000,-1px 1px 0 #000000,1px 1px 0 #000000,0 0 20px rgba(var(--vsg-purple-rgb),.5)}:where(.submit-question-modal) .modal-content{padding:30px}:where(.submit-question-modal) .modal-description{font-family:var(--font-primary);font-size:16px;color:#fffc;line-height:1.6;text-align:center;margin:0 0 25px;letter-spacing:.5px}.question-textarea{width:100%;min-height:150px;background:#0009;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:#fff;font-family:Crimson Text,serif;font-size:16px;padding:15px;resize:vertical;transition:all .3s ease}.question-textarea:focus{outline:none;border-color:rgba(var(--vsg-purple-rgb),.6);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.2);background:#000c}.question-textarea::placeholder{color:#fff6;font-style:normal}:where(.submit-question-modal) .modal-footer{padding:20px 30px 30px;display:flex;justify-content:center;gap:20px}:where(.submit-question-modal) .modal-footer button{min-width:120px}@media (max-width: 600px){.submit-question-modal{width:95%;margin:20px}:where(.submit-question-modal) .modal-header h2{font-size:22px}:where(.submit-question-modal) .modal-description{font-size:14px}:where(.submit-question-modal) .modal-footer{flex-direction:column;align-items:center}:where(.submit-question-modal) .modal-footer button{width:100%;max-width:200px}}.answer-question-modal{background:transparent;border:2px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;width:90%;max-width:700px;max-height:calc(80 * var(--vh-fit));overflow-y:auto;box-shadow:0 0 40px rgba(var(--vsg-purple-rgb),.3),0 20px 60px #00000080;animation:slideUp .3s ease}.question-display{margin-bottom:25px}.question-label,.answer-label{display:block;font-family:var(--font-primary);font-size:14px;color:var(--vsg-purple);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}.question-text{background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;padding:15px;color:#ffffffe6;font-size:16px;line-height:1.6;margin:0;font-family:Crimson Text,serif}.answer-section{margin-top:20px}.answer-textarea{width:100%;min-height:180px;background:#0009;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:#fff;font-family:Crimson Text,serif;font-size:16px;padding:15px;resize:vertical;transition:all .3s ease}.answer-textarea:focus{outline:none;border-color:rgba(var(--vsg-purple-rgb),.6);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.2);background:#000c}.answer-textarea::placeholder{color:#fff6;font-style:normal}.answer-textarea:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 600px){.answer-question-modal{width:95%;max-height:calc(70 * var(--vh-fit))}.answer-textarea{min-height:120px}}.prompt-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out}.prompt-dialog{background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:12px;min-width:450px;max-width:550px;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideIn .3s ease-out;overflow:hidden}.prompt-dialog-header{padding:20px 24px;background:rgba(var(--vsg-purple-rgb),.05);border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.prompt-dialog-header h2{margin:0;font-family:var(--font-primary);font-size:1.25rem;font-weight:400;color:var(--vsg-purple);letter-spacing:.5px;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5)}.prompt-dialog-content{padding:24px;background:rgba(var(--vsg-purple-rgb),.02)}.prompt-message{margin:0 0 16px;color:#ffffffd9;font-size:.95rem;line-height:1.5}.prompt-input,.prompt-textarea{width:100%;padding:12px 16px;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;color:#ffffffe6;font-size:1rem;font-family:var(--font-primary);transition:all .3s ease;box-sizing:border-box;outline:none}.prompt-textarea{resize:vertical;min-height:150px;line-height:1.6}.prompt-input::placeholder,.prompt-textarea::placeholder{color:#fff6}.prompt-input:focus,.prompt-textarea:focus{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.2)}.prompt-dialog-actions{padding:16px 24px;background:rgba(var(--vsg-purple-rgb),.05);border-top:1px solid rgba(var(--vsg-purple-rgb),.2);display:flex;gap:12px;justify-content:flex-end}.prompt-textarea::-webkit-scrollbar{width:8px}.prompt-textarea::-webkit-scrollbar-track{background:rgba(var(--vsg-purple-rgb),.05);border-radius:4px}.prompt-textarea::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.3);border-radius:4px}.prompt-textarea::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.5)}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.faq-tab{width:100%;animation:fadeIn .3s ease}.faq-tab-toggle{display:table;margin:0 auto}.faq-header{margin-top:20px;margin-bottom:30px}.faq-tabs{display:flex;justify-content:center;gap:10px;margin-bottom:20px}.faq-tab-button{padding:10px 30px;background:#0009;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:rgba(var(--vsg-purple-rgb),.7);font-size:16px;font-weight:400;cursor:pointer;transition:all .3s ease}.faq-tab-button:hover{background:#000c;border-color:rgba(var(--vsg-purple-rgb),.5);color:rgba(var(--vsg-purple-rgb),.9)}.faq-tab-button.active{background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.6);color:var(--vsg-purple);box-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.3)}.faq-search{position:relative;max-width:500px;margin:0 auto 30px}.faq-search-input{width:100%;padding:12px 45px 12px 20px;background:#0009;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:#fff;font-size:16px;transition:all .3s ease}.faq-search-input:focus{outline:none;border-color:rgba(var(--vsg-purple-rgb),.5);background:#000c;box-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.2)}.faq-search-input::placeholder{color:rgba(var(--vsg-purple-rgb),.5)}.search-icon{position:absolute;right:15px;top:50%;transform:translateY(-50%);color:rgba(var(--vsg-purple-rgb),.5);pointer-events:none}.faq-content{width:100%;margin:0;padding:0 2rem}.faq-category{margin-bottom:30px}.category-title{font-family:var(--font-primary);font-size:20px;color:var(--vsg-purple);margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);letter-spacing:.5px}.faq-list{display:flex;flex-direction:column;gap:10px}.faq-item{background:#0009;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;overflow:hidden;transition:all .3s ease}.faq-item:hover{border-color:rgba(var(--vsg-purple-rgb),.4);box-shadow:0 5px 15px rgba(var(--vsg-purple-rgb),.2)}.faq-question{width:100%;padding:15px 20px;background:transparent;border:none;color:#ffffffe6;font-size:16px;font-weight:400;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:all .3s ease}.faq-question:hover{background:rgba(var(--vsg-purple-rgb),.05)}.faq-question.expanded{color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.1)}.expand-icon{transition:transform .3s ease;color:rgba(var(--vsg-purple-rgb),.6)}.faq-question.expanded .expand-icon{transform:rotate(180deg);color:var(--vsg-purple)}.faq-answer{position:relative;padding:15px 20px 20px;animation:slideDown .3s ease}.faq-answer p{margin:0;color:#ffffffb3;font-size:15px;line-height:1.6}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}.faq-footer{margin-top:50px;padding:30px;background:#0009;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;text-align:center}.help-section h3{font-family:var(--font-primary);font-size:20px;color:var(--vsg-purple);margin-bottom:10px}.help-section p{color:#ffffffb3;font-size:16px;margin-bottom:20px}.empty-faq{display:flex;align-items:center;justify-content:center;min-height:400px;text-align:center}.empty-content h3{font-family:var(--font-primary);font-size:24px;color:var(--vsg-purple);margin-bottom:10px}.empty-content p{color:#fff9;font-size:16px}.submitted-faq-list{display:flex;flex-direction:column;gap:15px}.submitted-faq-item{background:#0009;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;overflow:hidden;transition:all .3s ease}.submitted-faq-item:hover{border-color:rgba(var(--vsg-purple-rgb),.4);box-shadow:0 5px 15px rgba(var(--vsg-purple-rgb),.2)}.question-header{flex:1;display:flex;flex-direction:column;gap:8px}:where(.faq-tab) .question-text{font-size:16px;font-weight:400}.question-meta{display:flex;gap:10px;align-items:center;font-size:14px}.submitted-by{color:rgba(var(--vsg-purple-rgb),.6)}.category-badge{background:rgba(var(--vsg-purple-rgb),.2);color:rgba(var(--vsg-purple-rgb),.9);padding:2px 8px;border-radius:4px;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.faq-expanded-content{padding:20px;border-top:1px solid rgba(var(--vsg-purple-rgb),.2);animation:slideDown .3s ease}.no-answers{text-align:center;padding:20px}.no-answers p{color:#fff9;margin-bottom:15px;font-style:normal}.answer-btn{min-width:160px}.answers-section{display:flex;flex-direction:column;gap:15px}.answers-title{font-family:var(--font-primary);font-size:16px;color:var(--vsg-purple);margin:0 0 15px;padding-bottom:10px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.answer-item{background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:6px;padding:15px;transition:all .3s ease}.answer-item:hover{background:#00000080;border-color:rgba(var(--vsg-purple-rgb),.25)}.answer-content{margin-bottom:12px}.answer-content p{color:#ffffffd9;line-height:1.6;margin:0}.answer-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid rgba(var(--vsg-purple-rgb),.1)}.answer-meta{display:flex;gap:15px;align-items:center;font-size:14px}.answered-by{color:rgba(var(--vsg-purple-rgb),.7);display:flex;align-items:center;gap:5px}.official-badge{background:rgba(var(--vsg-success-rgb),.14);color:rgba(var(--vsg-success-rgb),.69);padding:2px 6px;border-radius:3px;font-size:11px;font-weight:400;text-transform:uppercase}.answer-date{color:#ffffff80;font-size:13px}.vote-controls{display:flex;gap:10px}.vote-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:4px;color:#fff9;font-size:14px;cursor:pointer;transition:all .3s ease}.vote-btn:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.4);color:#fffc}.vote-btn.upvote.active{background:rgba(var(--vsg-success-rgb),.14);border-color:rgba(var(--vsg-success-rgb),.69);color:rgba(var(--vsg-success-rgb),.69)}.vote-btn.downvote.active{background:rgba(var(--vsg-error-rgb),.2);border-color:var(--vsg-error);color:var(--vsg-error)}.vote-btn svg{width:16px;height:16px}.add-answer-btn{align-self:center;margin-top:10px}.no-questions{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;text-align:center}.no-questions p{color:#fff9;font-size:18px;margin:0}.dreamer-controls{display:flex;gap:8px;margin-left:12px}.dreamer-btn{padding:4px 8px;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;color:var(--vsg-purple);font-size:14px;cursor:pointer;transition:all .2s ease}.dreamer-btn:hover{background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 0 8px rgba(var(--vsg-purple-rgb),.3)}.dreamer-btn.edit-btn:hover{background:rgba(var(--vsg-analyzing-rgb),.2);border-color:rgba(var(--vsg-analyzing-rgb),.5);color:var(--vsg-analyzing);box-shadow:0 0 8px rgba(var(--vsg-analyzing-rgb),.3)}.faq-question-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.main-faq-edit-btn{padding:2px 6px;background:rgba(var(--vsg-purple-rgb),.2);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;color:var(--vsg-purple);cursor:pointer;font-size:11px;font-weight:400;transition:all .2s;flex-shrink:0}.main-faq-edit-btn:hover{background:rgba(var(--vsg-purple-rgb),.3)}.faq-answer-content{margin:0;padding-right:60px}.faq-answer-content p{margin:0}.main-faq-edit-btn.answer-edit{position:absolute;top:15px;right:44px}.published-faq-item{position:relative}.published-badge{display:inline-block;background:rgba(var(--vsg-success-rgb),.1);color:rgba(var(--vsg-success-rgb),.62);padding:2px 8px;border-radius:4px;font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.5px;margin-top:10px}.dreamer-btn.publish-btn{font-size:10px}.dreamer-btn.publish-btn:hover{background:rgba(var(--vsg-success-rgb),.14);border-color:rgba(var(--vsg-success-rgb),.34);color:rgba(var(--vsg-success-rgb),.69);box-shadow:0 0 8px rgba(var(--vsg-success-rgb),.21)}.dreamer-btn.publish-btn.published{background:rgba(var(--vsg-success-rgb),.14);border-color:rgba(var(--vsg-success-rgb),.27);color:rgba(var(--vsg-success-rgb),.69)}.dreamer-btn.publish-btn.published:hover{background:rgba(var(--vsg-caution-rgb),.2);border-color:rgba(var(--vsg-caution-rgb),.5);color:var(--vsg-caution);box-shadow:0 0 8px rgba(var(--vsg-caution-rgb),.3)}.published-indicator{display:inline-block;background:rgba(var(--vsg-success-rgb),.1);color:rgba(var(--vsg-success-rgb),.62);padding:2px 8px;border-radius:20px;font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:.5px;font-family:var(--font-primary);border:1px solid rgba(var(--vsg-success-rgb),.21)}.published-order-input{width:40px;padding:2px 4px;background:#000000b3;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;color:var(--vsg-purple);font-size:11px;font-weight:400;text-align:center;font-family:var(--font-primary);outline:none;transition:all .2s ease}.published-order-input:focus{border-color:rgba(var(--vsg-purple-rgb),.6);background:#000000d9;box-shadow:0 0 0 2px rgba(var(--vsg-purple-rgb),.2)}.published-order-input::-webkit-outer-spin-button,.published-order-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.published-order-input[type=number]{-moz-appearance:textfield}.last-poster-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;flex-shrink:0}.last-poster-avatar-img{border-radius:50%;object-fit:cover}.last-poster-avatar-fallback{color:rgba(var(--vsg-purple-rgb),.6);font-weight:400;line-height:1}.last-poster-avatar.dreamer-pulse{--glow-rest: var(--glow-avatar-rest);--glow-static: var(--glow-avatar-inset);--glow-peak: var(--glow-avatar-peak);--glow-period: 2s}.forum-topic-list{display:flex;flex-direction:column;gap:16px;padding:16px;min-height:400px;flex:1}.forum-topic-list:has(.empty-state-container){justify-content:center;align-items:center}.forum-topic-loading{display:flex;align-items:center;justify-content:center;min-height:300px}.forum-topics-grid{display:flex;flex-direction:column;gap:12px}.forum-topic-card{position:relative;background:#000c;border:.25px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;padding:16px 20px;cursor:pointer;transition:all .3s ease}.forum-topic-card:hover{border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 10px 30px rgba(var(--vsg-purple-rgb),.2);transform:translateY(-5px)}.forum-topic-card.pinned{border-left:3px solid var(--vsg-purple)}.forum-topic-card.locked{opacity:.8}.forum-topic-header{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.forum-topic-badges{display:flex;gap:8px}.forum-topic-title{color:#fffffff2;font-family:var(--font-primary);font-size:16px;font-weight:400;margin:0}.forum-topic-meta{display:flex;gap:16px;font-size:12px;font-family:var(--font-primary);margin-bottom:6px}.forum-topic-replies{color:#ffffff80}.forum-topic-date{color:rgba(var(--vsg-purple-rgb),.5)}.forum-topic-description{color:#ffffff80;font-family:var(--font-primary);font-size:13px;font-weight:400;line-height:1.4;margin:0}.forum-topic-actions{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(var(--vsg-purple-rgb),.1);opacity:0;transition:opacity .2s ease}.forum-topic-card:hover .forum-topic-actions{opacity:1}.forum-topic-list .section-label{color:var(--vsg-purple);font-family:var(--font-primary);font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:1px}@media (max-width: 600px){.forum-topic-list{padding:12px}.forum-topic-actions{opacity:1}}/*!
 * Quill Editor v1.3.7
 * https://quilljs.com/
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor ul,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:"•"}.ql-editor ul[data-checked=true],.ql-editor ul[data-checked=false]{pointer-events:none}.ql-editor ul[data-checked=true]>li *,.ql-editor ul[data-checked=false]>li *{pointer-events:all}.ql-editor ul[data-checked=true]>li:before,.ql-editor ul[data-checked=false]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:"☑"}.ql-editor ul[data-checked=false]>li:before{content:"☐"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) ". "}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) ". "}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) ". "}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) ". "}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) ". "}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) ". "}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer: coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0px}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0px;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.find-replace-panel{position:absolute;top:100%;right:0;z-index:50;width:300px;padding:12px;background:#000000f2;border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:8px;box-shadow:0 8px 24px #0009,0 0 12px rgba(var(--vsg-purple-rgb),.15);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;flex-direction:column;gap:8px}.find-replace-row{display:flex;gap:6px}.find-replace-input{flex:1;height:30px;padding:0 10px;font-size:13px;color:#ffffffe6;background:#00000080;border:.5px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;outline:none;transition:all .2s ease}.find-replace-input:focus{border-color:rgba(var(--vsg-purple-rgb),.6);box-shadow:0 0 0 2px rgba(var(--vsg-purple-rgb),.1)}.find-replace-input::placeholder{color:rgba(var(--vsg-purple-rgb),.4)}.find-replace-message{font-size:11px;color:rgba(var(--vsg-purple-rgb),.6);padding:0 2px}.find-replace-actions{display:flex;justify-content:space-between;margin-top:4px}.find-replace-cancel-btn,.find-replace-execute-btn{height:28px;padding:0 12px;font-family:var(--font-primary);font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;border-radius:6px;cursor:pointer;transition:all .2s ease}.find-replace-cancel-btn{color:#ffffffb3;background:transparent;border:1px solid rgba(255,255,255,.2)}.find-replace-cancel-btn:hover{background:#ffffff1a;border-color:#fff6}.find-replace-execute-btn{color:rgba(var(--vsg-purple-rgb),.9);background:rgba(var(--vsg-purple-rgb),.15);border:1px solid rgba(var(--vsg-purple-rgb),.4)}.find-replace-execute-btn:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.25);border-color:rgba(var(--vsg-purple-rgb),.6);color:rgba(var(--vsg-purple-rgb),1)}.find-replace-execute-btn:disabled{opacity:.4;cursor:not-allowed}.toolbar-mode-controls{display:flex;align-items:center;gap:10px}.toolbar-mode-group{display:flex;align-items:center;gap:6px}.toolbar-mode-label{font-family:var(--font-primary);font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.8px;color:rgba(var(--vsg-purple-rgb),.5);white-space:nowrap}.toolbar-mode-controls .toggle-group{align-items:center!important}.toolbar-mode-controls .toggle-container.xs .toggle-option.active{border:1px solid rgba(var(--vsg-purple-rgb),.6);background:rgba(var(--vsg-purple-rgb),.25)}.editor-toolbar{background:#0009;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-bottom:none;border-radius:8px 8px 0 0;padding:8px;display:flex;justify-content:space-between;align-items:center;gap:8px}.editor-toolbar .toolbar-left{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.editor-toolbar .toolbar-right{display:flex;gap:4px;align-items:center;flex:1}.editor-toolbar .toolbar-left button,.editor-toolbar .toolbar-left select{background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:4px;color:rgba(var(--vsg-purple-rgb),.7);cursor:pointer;transition:all .2s ease;padding:4px 6px;height:28px}.editor-toolbar .toolbar-left button:hover,.editor-toolbar .toolbar-left select:hover{background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.5);color:rgba(var(--vsg-purple-rgb),1)}.editor-toolbar .toolbar-left button.ql-active{background:rgba(var(--vsg-purple-rgb),.3);border-color:rgba(var(--vsg-purple-rgb),.7);color:rgba(var(--vsg-purple-rgb),1)}.editor-toolbar .toolbar-left .ql-stroke{stroke:rgba(var(--vsg-purple-rgb),.7)}.editor-toolbar .toolbar-left .ql-fill{fill:rgba(var(--vsg-purple-rgb),.7)}.editor-toolbar .toolbar-left button:hover .ql-stroke,.editor-toolbar .toolbar-left button.ql-active .ql-stroke{stroke:rgba(var(--vsg-purple-rgb),1)}.editor-toolbar .toolbar-left button:hover .ql-fill,.editor-toolbar .toolbar-left button.ql-active .ql-fill{fill:rgba(var(--vsg-purple-rgb),1)}.editor-toolbar .toolbar-left .ql-picker-label{color:#ffffffe6;border-color:rgba(var(--vsg-purple-rgb),.3)}.toolbar-search-wrapper{position:relative}.toolbar-icon-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:rgba(var(--vsg-purple-rgb),.7);cursor:pointer;transition:all .2s ease}.toolbar-icon-btn:hover{background:rgba(var(--vsg-purple-rgb),.2);color:rgba(var(--vsg-purple-rgb),1);border-color:rgba(var(--vsg-purple-rgb),.5)}.toolbar-icon-btn.active{background:rgba(var(--vsg-purple-rgb),.3);color:#fffffff2;border-color:rgba(var(--vsg-purple-rgb),.7)}.toolbar-text-btn{height:28px;padding:0 10px;font-family:var(--font-primary);font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.5px;color:rgba(var(--vsg-purple-rgb),.7);background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;cursor:pointer;transition:all .2s ease}.toolbar-text-btn:hover{background:rgba(var(--vsg-purple-rgb),.15);color:rgba(var(--vsg-purple-rgb),1);border-color:rgba(var(--vsg-purple-rgb),.5)}.toolbar-text-btn.active{background:rgba(var(--vsg-purple-rgb),.3);color:#fffffff2;border-color:rgba(var(--vsg-purple-rgb),.7);text-shadow:0 0 6px rgba(var(--vsg-purple-rgb),.4)}.toolbar-action-group{display:flex;align-items:center;gap:6px}.toolbar-speech-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0}.toolbar-namebank-btn{display:flex;align-items:center;justify-content:center;color:var(--vsg-purple);padding:0}.toolbar-namebank-btn:hover{color:var(--vsg-purple)}.toolbar-ai-btn{font-size:13px;font-weight:400;height:32px;padding:0 12px}.toolbar-ai-btn:hover{box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.2)}.toolbar-spacer{flex:1}.toolbar-divider{width:1px;height:20px;background:rgba(var(--vsg-purple-rgb),.25);margin:0 4px}.image-upload-toggle-button{display:flex!important;align-items:center!important;justify-content:center!important;height:28px!important;padding:4px 8px!important;background:transparent!important;border:1px solid rgba(var(--vsg-purple-rgb),.2)!important;border-radius:4px;color:rgba(var(--vsg-purple-rgb),.7);cursor:pointer;transition:all .2s ease}.image-upload-toggle-button:hover{background:rgba(var(--vsg-purple-rgb),.2)!important;border-color:rgba(var(--vsg-purple-rgb),.5)!important;color:rgba(var(--vsg-purple-rgb),1)}.image-count-display{font-size:13px;color:#fffc;margin-left:4px;font-weight:400}.rich-edit-dialog-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;animation:fadeIn .2s ease}.rich-edit-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:95%;max-width:1400px;max-height:calc(85 * var(--vh-fit));background:#000000f2;border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:16px;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3);z-index:1001;display:flex;flex-direction:column;animation:slideIn .3s ease}.rich-edit-dialog-header{padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.3)}.rich-edit-dialog-title{margin:0;color:rgba(var(--vsg-purple-rgb),.95);font-size:20px;font-weight:400}.rich-edit-dialog-body{padding:24px;flex:1;overflow-y:auto;min-height:0}.rich-edit-input-container{position:relative;width:100%}.rich-edit-quill{width:100%;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-top:none;border-radius:0 0 8px 8px;overflow:hidden;transition:all .2s ease}.rich-edit-quill.at-limit{border-color:rgba(var(--vsg-error-rgb),.6)}.rich-edit-quill .ql-toolbar{display:none}.rich-edit-quill .ql-editor .ooc-block{border-left:3px solid rgba(var(--vsg-purple-rgb),.6);background:rgba(var(--vsg-purple-rgb),.08);padding:8px 12px;margin:4px 0;border-radius:4px;position:relative}.rich-edit-quill .ql-editor .ooc-block:before{content:"OOC";display:block;font-size:.65em;text-transform:uppercase;letter-spacing:1px;color:rgba(var(--vsg-purple-rgb),.7);margin-bottom:2px;font-weight:400}.rich-edit-quill .ql-editor .ooc-block+.ooc-block{margin-top:0;padding-top:0;border-top-left-radius:0;border-top-right-radius:0}.rich-edit-quill .ql-editor .ooc-block+.ooc-block:before{display:none}.rich-edit-quill .ql-editor .ooc-block:has(+.ooc-block){margin-bottom:0;padding-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.rich-edit-quill .ql-container{border:none;font-size:14px;font-family:var(--font-primary);min-height:300px;max-height:400px;overflow-y:auto}.rich-edit-quill .ql-editor{padding:12px 12px 40px;color:#ffffffe6;line-height:1.6;font-family:var(--font-primary)}.rich-edit-quill .ql-editor.ql-blank:before{color:#fff6;font-style:normal;left:12px}.rich-edit-input-container:focus-within .rich-edit-quill{border-color:rgba(var(--vsg-purple-rgb),.6);background:#000000b3;box-shadow:0 0 0 3px rgba(var(--vsg-purple-rgb),.1)}.rich-edit-input-container:focus-within .editor-toolbar{border-color:rgba(var(--vsg-purple-rgb),.6);box-shadow:0 0 0 3px rgba(var(--vsg-purple-rgb),.1)}.rich-edit-quill .ql-picker-options{background:#000000f2;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;padding:4px}.rich-edit-quill .ql-picker-item{color:#ffffffe6}.rich-edit-quill .ql-picker-item:hover{background:rgba(var(--vsg-purple-rgb),.2);color:#fff}.rich-edit-quill .ql-color-picker .ql-picker-options{padding:8px}.rich-edit-quill .ql-editor h1,.rich-edit-quill .ql-editor h2,.rich-edit-quill .ql-editor h3{color:rgba(var(--vsg-purple-rgb),.9);font-weight:400;margin:.5em 0}.rich-edit-quill .ql-editor a{color:rgba(var(--vsg-purple-rgb),.9);text-decoration:underline}.rich-edit-quill .ql-editor blockquote{border-left:3px solid rgba(var(--vsg-purple-rgb),.5);padding-left:12px;margin:8px 0;color:#ffffffb3}.rich-edit-quill .ql-editor code,.rich-edit-quill .ql-editor .ql-code-block{background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;padding:2px 6px;color:rgba(var(--vsg-purple-rgb),.9);font-family:var(--font-primary)}.rich-edit-char-count{position:absolute;bottom:8px;right:12px;font-size:12px;color:rgba(var(--vsg-purple-rgb),.5);pointer-events:none;-webkit-user-select:none;user-select:none;background:#000000b3;padding:4px 8px;border-radius:4px}.rich-edit-char-count.near-limit{color:rgba(var(--vsg-caution-rgb),.8);font-weight:400}.rich-edit-char-count.at-limit{color:rgba(var(--vsg-error-rgb),.9);font-weight:400}.rich-edit-attachments{margin-top:16px;padding-top:16px;border-top:1px solid rgba(var(--vsg-purple-rgb),.2)}.rich-edit-attachments-label{font-size:13px;color:rgba(var(--vsg-purple-rgb),.7);margin-bottom:12px;font-weight:400}.rich-edit-attachments-grid{display:flex;flex-wrap:wrap;gap:16px;padding:8px}.rich-edit-attachment-item{position:relative;width:80px;height:80px;border-radius:8px;overflow:visible;border:1px solid rgba(var(--vsg-purple-rgb),.3);background:#00000080;transition:all .2s ease}.rich-edit-attachment-item:hover{border-color:rgba(var(--vsg-purple-rgb),.6)}.rich-edit-attachment-item.removed{opacity:.4;border-color:rgba(var(--vsg-magenta-rgb),.5)}.rich-edit-attachment-item.removed .rich-edit-attachment-thumb{filter:grayscale(100%)}.rich-edit-attachment-thumb{width:100%;height:100%;object-fit:cover;border-radius:8px;transition:filter .2s ease}.rich-edit-attachment-undo{position:absolute;top:-8px;right:-8px;width:22px;height:22px;border-radius:50%;border:2px solid rgba(0,0,0,.8);font-size:12px;font-weight:400;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10}.rich-edit-attachment-undo{background:rgba(var(--vsg-purple-rgb),.9);color:#fff}.rich-edit-attachment-undo:hover{background:rgba(var(--vsg-purple-rgb),1);transform:scale(1.1)}.rich-edit-attachments-hint{margin-top:8px;font-size:12px;color:rgba(var(--vsg-caution-rgb),.8);font-style:normal}.rich-edit-dialog-footer{padding:20px 24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.3);display:flex;justify-content:flex-end;gap:12px}@keyframes slideIn{0%{opacity:0;transform:translate(-50%,-48%)}to{opacity:1;transform:translate(-50%,-50%)}}@media (max-width: 600px){.rich-edit-dialog{width:95%;max-height:calc(90 * var(--vh-fit))}.rich-edit-dialog-header,.rich-edit-dialog-body,.rich-edit-dialog-footer{padding:16px}.rich-edit-quill .ql-container{min-height:200px;max-height:300px}.rich-edit-dialog .editor-toolbar{flex-wrap:wrap}.rich-edit-dialog .editor-toolbar .toolbar-left{width:100%}.rich-edit-dialog .editor-toolbar .toolbar-right{width:100%;justify-content:flex-start}}.forum-note-view{display:flex;flex-direction:column;height:100%;font-family:var(--font-primary)}.forum-note-header{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 20px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15)}.forum-note-info{display:flex;flex-direction:column;gap:4px}.forum-note-breadcrumb-label{display:flex;align-items:center;gap:8px;font-size:12px}.forum-note-section-badge{color:var(--vsg-purple);text-transform:uppercase;letter-spacing:1px;font-weight:400}.forum-note-separator{color:#ffffff4d}.forum-note-type{color:#ffffff80}.forum-note-title{color:#fffffff2;font-family:var(--font-primary);font-size:20px;font-weight:400;margin:0}.forum-note-description{color:#ffffff80;font-size:13px;font-weight:400;margin:0}.forum-notes-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:0;padding:0 4px}.forum-notes-loading{display:flex;align-items:center;justify-content:center;min-height:200px}.forum-note-card{position:relative;display:flex;gap:16px;padding:16px;background:#0000004d;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.08);transition:all .2s ease}.forum-note-card:hover{background:#0006}.forum-note-actions{position:absolute;top:12px;right:12px;display:flex;gap:6px;z-index:1;opacity:0;transition:opacity .2s ease}.forum-note-card:hover .forum-note-actions{opacity:1}.forum-note-avatar{flex-shrink:0}.forum-note-content{flex:1;min-width:0}.forum-note-content-header{margin-bottom:8px}.forum-note-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.forum-note-author{color:#fffc;font-size:14px;font-weight:400}.forum-note-date{color:#fff6;font-size:12px;font-weight:400}.forum-note-edited{color:#ffffff4d;font-size:11px;font-weight:400}.forum-note-body{color:#ffffffd9;font-size:14px;font-weight:400;line-height:1.6;word-wrap:break-word;overflow-wrap:break-word}.forum-note-body p{margin:0 0 8px}.forum-note-body p:last-child{margin-bottom:0}.forum-notes-load-more{text-align:center;padding:8px}.forum-notes-empty{text-align:center;padding:3rem 1rem;color:#fff6;font-size:14px;font-weight:400}.forum-notes-empty-icon{font-size:36px;margin-bottom:12px}.forum-notes-locked{text-align:center;padding:12px;color:#fff6;font-size:13px;font-weight:400;border-top:1px solid rgba(var(--vsg-purple-rgb),.15)}.forum-composer{border-top:1px solid rgba(var(--vsg-purple-rgb),.15);padding:12px 16px}.forum-composer-input-container{position:relative}.forum-composer-toolbar{background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-bottom:none;border-radius:8px 8px 0 0;padding:4px}.forum-composer-toolbar .toolbar-left{display:flex;flex-wrap:wrap;gap:2px}.forum-composer-quill .ql-container{background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-top:none;border-radius:0 0 8px 8px;color:#ffffffd9;font-family:var(--font-primary);font-size:14px;font-weight:400;min-height:80px}.forum-composer-quill .ql-editor.ql-blank:before{color:rgba(var(--vsg-purple-rgb),.4);font-family:var(--font-primary)}.forum-composer-quill.at-limit .ql-container{border-color:rgba(var(--vsg-error-rgb),.4)}.forum-composer-char-count{text-align:right;font-size:11px;font-weight:400;color:#ffffff4d;padding:4px 0;font-family:var(--font-primary)}.forum-composer-char-count.near-limit{color:rgba(var(--vsg-caution-rgb),.8)}.forum-composer-char-count.at-limit{color:rgba(var(--vsg-error-rgb),.8)}.forum-composer-actions{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.forum-composer-hint{font-size:11px;font-weight:400;color:#ffffff4d}.forum-composer-buttons{display:flex;gap:8px}@media (max-width: 600px){.forum-note-card{flex-direction:column;gap:12px;padding-top:48px}.forum-note-actions{top:8px;right:8px}}.forum-breadcrumb{display:flex;align-items:center;gap:8px;padding:8px 0;font-family:var(--font-primary);font-size:13px;font-weight:400;flex-wrap:wrap}.forum-breadcrumb-segment{transition:all .2s ease}.forum-breadcrumb-segment.clickable{color:var(--vsg-purple);cursor:pointer}.forum-breadcrumb-segment.clickable:hover{color:var(--vsg-purple);text-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.3)}.forum-breadcrumb-segment.current{color:rgba(var(--vsg-purple-rgb),.6);cursor:default}.forum-breadcrumb-separator{color:#ffffff4d;font-size:14px;-webkit-user-select:none;user-select:none}.forum-category-list{display:flex;flex-direction:column;gap:12px;padding:16px;flex:1}.forum-category-list:has(.empty-state-container){justify-content:center;align-items:center;min-height:400px}.forum-category-card{display:flex;align-items:center;justify-content:space-between;background:#0000004d;border:.25px solid rgba(var(--vsg-purple-rgb),.15);border-radius:8px;padding:14px 20px;cursor:pointer;transition:all .3s ease}.forum-category-card:hover{border-color:rgba(var(--vsg-purple-rgb),.4);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.15)}.forum-category-name{color:#ffffffd9;font-family:var(--font-primary);font-weight:400;font-size:15px}.forum-category-count{color:rgba(var(--vsg-purple-rgb),.6);font-family:var(--font-primary);font-weight:400;font-size:.85rem}.forum-section-toggle{display:flex;gap:0;background:#0006;border-radius:12px;padding:4px;border:1px solid rgba(var(--vsg-purple-rgb),.2);margin-bottom:16px}.forum-section-toggle__btn{flex:1;padding:12px 24px;background:transparent;border:none;color:rgba(var(--vsg-purple-rgb),.6);font-family:var(--font-primary);font-weight:400;font-size:1.1rem;cursor:pointer;border-radius:8px;transition:all .3s ease;text-align:center}.forum-section-toggle__btn.active{background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.3)}.forum-section-toggle__btn:hover:not(.active){color:rgba(var(--vsg-purple-rgb),.8)}.forum-section-toggle__create{background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.2),rgba(var(--vsg-purple-rgb),.1));border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:8px;color:var(--vsg-purple);font-family:var(--font-primary);font-size:.9rem;padding:8px 20px;cursor:pointer;transition:all .3s ease;white-space:nowrap}.forum-section-toggle__create:hover{background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.3),rgba(var(--vsg-purple-rgb),.2));border-color:var(--vsg-purple);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.4);transform:translateY(-1px)}.fantasia-title-component{text-align:center}.fantasia-title-wrapper{position:relative;display:inline-block;overflow:visible;margin-bottom:-8px}:where(.fantasia-title-wrapper) .fantasia-title-text{--glow-peak: var(--glow-title-peak);--glow-period: 2s}:where(.fantasia-title-wrapper) .fantasia-slogan-text{--glow-peak: var(--glow-slogan-peak);--glow-period: 2s}.fantasia-title-large .fantasia-title-text{font-family:Andalucia,serif;font-size:4.5rem;color:var(--vsg-purple-radiant);text-shadow:0 0 20px var(--vsg-purple-radiant),0 0 40px rgba(var(--vsg-purple-radiant-rgb),.5),0 0 60px rgba(var(--vsg-purple-radiant-rgb),.3);margin:0;font-weight:400;letter-spacing:0;line-height:1;position:relative;display:inline-block}.fantasia-title-large .fantasia-copyright-symbol{position:absolute;top:.8em;right:-.9em;font-size:.15em;font-family:var(--font-primary);font-weight:400;color:rgba(var(--vsg-purple-radiant-rgb),.9);text-shadow:0 0 8px rgba(var(--vsg-purple-radiant-rgb),.5)}.fantasia-title-large .fantasia-slogan-text{position:absolute;bottom:0;left:50%;transform:translate(-50%) translate(20px);color:var(--vsg-purple-radiant);font-size:.5rem;font-weight:300;text-shadow:0 0 10px rgba(var(--vsg-purple-radiant-rgb),.6);white-space:nowrap;letter-spacing:.5px;font-family:var(--font-primary)}.fantasia-title-medium .fantasia-title-text{font-family:Andalucia,serif;font-size:var(--logo-size-md);color:var(--vsg-purple-radiant);text-shadow:0 0 20px var(--vsg-purple-radiant),0 0 40px rgba(var(--vsg-purple-radiant-rgb),.5),0 0 60px rgba(var(--vsg-purple-radiant-rgb),.3);margin:0;font-weight:400;letter-spacing:0;line-height:1;position:relative;display:inline-block}.fantasia-title-medium .fantasia-copyright-symbol{position:absolute;top:.8em;right:-.9em;font-size:.15em;font-family:var(--font-primary);font-weight:400;color:rgba(var(--vsg-purple-radiant-rgb),.9);text-shadow:0 0 8px rgba(var(--vsg-purple-radiant-rgb),.5)}.fantasia-title-medium .fantasia-slogan-text{position:absolute;bottom:0;left:50%;transform:translate(-50%) translate(14px);color:var(--vsg-purple-radiant);font-size:var(--logo-slogan-size-md);font-weight:300;text-shadow:0 0 10px rgba(var(--vsg-purple-radiant-rgb),.6);white-space:nowrap;letter-spacing:.5px;font-family:var(--font-primary)}.fantasia-title-small .fantasia-title-text{font-family:Andalucia,serif;font-size:2rem;color:var(--vsg-purple-radiant);text-shadow:0 0 20px var(--vsg-purple-radiant),0 0 40px rgba(var(--vsg-purple-radiant-rgb),.5),0 0 60px rgba(var(--vsg-purple-radiant-rgb),.3);margin:0;font-weight:400;letter-spacing:0;line-height:1;position:relative;display:inline-block}.fantasia-title-small .fantasia-copyright-symbol{position:absolute;top:.8em;right:-.9em;font-size:.15em;font-family:var(--font-primary);font-weight:400;color:rgba(var(--vsg-purple-radiant-rgb),.9);text-shadow:0 0 8px rgba(var(--vsg-purple-radiant-rgb),.5)}.fantasia-title-small .fantasia-slogan-text{position:absolute;bottom:0;left:50%;transform:translate(-50%) translate(10px);color:var(--vsg-purple-radiant);font-size:.35rem;font-weight:300;text-shadow:0 0 10px rgba(var(--vsg-purple-radiant-rgb),.6);white-space:nowrap;letter-spacing:.5px;font-family:var(--font-primary)}.summon-familiar-btn{transition:all .3s ease;position:relative;overflow:visible}.summon-familiar-btn:before{display:none!important}.summon-familiar-btn.ready{background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.3),rgba(var(--vsg-purple-rgb),.4));border:1px solid rgba(var(--vsg-purple-rgb),.5);color:var(--vsg-purple-brightest);font-weight:400;box-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.6),inset 0 0 15px rgba(var(--vsg-purple-rgb),.2);text-shadow:0 0 10px rgba(var(--vsg-purple-brightest-rgb),.8);--glow-peak: 0 0 30px rgba(var(--vsg-purple-rgb), .8);--glow-period: 2s;--glow-ease: ease}.summon-familiar-btn.partial{background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.2),rgba(var(--vsg-purple-rgb),.2));border:1px solid rgba(var(--vsg-purple-rgb),.5);color:var(--vsg-purple);font-weight:400;box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.3)}.summon-familiar-btn.inactive{background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.5);color:var(--vsg-purple);font-weight:400}.tab-navigator{display:flex;align-items:center;width:100%;padding:0 var(--tabbar-inset);margin-bottom:0;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);position:relative;z-index:1003}.tab-button{background:transparent;border:none;border-bottom:2px solid transparent;color:rgba(var(--vsg-purple-rgb),.6);font-family:var(--font-primary);font-size:var(--fluid-tab-label);font-weight:400;letter-spacing:.5px;padding:var(--tab-pad-y) var(--fluid-tab-pad-x);white-space:nowrap;cursor:pointer;transition:all .3s ease;position:relative;text-transform:none}.tab-button:hover{color:rgba(var(--vsg-purple-rgb),.9);background:rgba(var(--vsg-purple-rgb),.05)}.tab-button.active{color:var(--vsg-purple);border-bottom-color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.1)}.tab-button.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--vsg-purple),transparent);animation:tabGlow 2s ease-in-out infinite}.tab-button .glow-indicator{margin-left:6px;vertical-align:middle}@keyframes tabGlow{0%,to{opacity:.5}50%{opacity:1}}.music-icon{display:inline-flex;align-items:center;justify-content:center;padding:4px;border:none;border-radius:6px;background:transparent;color:var(--vsg-purple);cursor:default;transition:all .2s ease}.music-icon-medium{width:32px;height:32px}.music-icon-small{width:24px;height:24px}.music-icon.clickable{cursor:pointer}.music-icon.clickable:hover{background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple);transform:scale(1.1)}.music-icon.clickable:active{transform:scale(.95)}.music-icon.disabled{opacity:.4;cursor:not-allowed}.music-icon:disabled{opacity:.4;cursor:not-allowed}.music-icon-medium .music-svg{width:20px;height:20px}.music-icon-small .music-svg{width:16px;height:16px}.mute-icon{display:inline-flex;align-items:center;justify-content:center;padding:4px;border:none;border-radius:6px;background:transparent;color:var(--vsg-purple);cursor:default;transition:all .2s ease}.mute-icon-medium{width:32px;height:32px}.mute-icon-small{width:24px;height:24px}.mute-icon.clickable{cursor:pointer}.mute-icon.clickable:hover{background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple);transform:scale(1.1)}.mute-icon.clickable:active{transform:scale(.95)}.mute-icon.disabled{opacity:.4;cursor:not-allowed}.mute-icon:disabled{opacity:.4;cursor:not-allowed}.mute-icon-medium .mute-svg{width:20px;height:20px}.mute-icon-small .mute-svg{width:16px;height:16px}.settings-icon{display:inline-flex;align-items:center;justify-content:center;padding:4px;border:none;border-radius:6px;background:transparent;color:var(--vsg-purple);cursor:default;transition:all .2s ease}.settings-icon-medium{width:32px;height:32px}.settings-icon-small{width:24px;height:24px}.settings-icon.clickable{cursor:pointer}.settings-icon.clickable:hover{background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple);transform:scale(1.1)}.settings-icon.clickable:active{transform:scale(.95)}.settings-icon.disabled{opacity:.4;cursor:not-allowed}.settings-icon:disabled{opacity:.4;cursor:not-allowed}.settings-icon-medium .settings-svg{width:20px;height:20px}.settings-icon-small .settings-svg{width:16px;height:16px}.global-app-controls{display:inline-flex;align-items:center;gap:var(--chrome-gap-sm)}.payment-past-due-banner{display:flex;flex-direction:row;align-items:center;background:rgba(var(--vsg-caution-rgb),.15);border:1px solid rgba(var(--vsg-caution-rgb),.3);border-radius:8px;padding:12px 16px;margin:8px 0}.payment-past-due-banner-content{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;flex:1}.payment-past-due-banner-message{font-family:var(--font-primary);font-size:14px;color:#fffffff2;flex:1}.payment-past-due-banner-actions{display:flex;flex-direction:row;gap:8px}.language-selector{position:relative;z-index:2000}.language-toggle{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#0000004d;border:.25px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:var(--vsg-purple);font-family:var(--font-primary);font-size:14px;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.language-toggle:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.2)}.flag-icon{font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center}.language-dropdown{min-width:60px;background:#000000f2;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;padding:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #0006,0 0 40px rgba(var(--vsg-purple-rgb),.1);animation:dropdownFadeIn .3s ease;z-index:99999}.language-dropdown-portal{position:fixed}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.language-option{display:flex;align-items:center;justify-content:center;width:100%;padding:10px;background:transparent;border:none;border-radius:8px;color:rgba(var(--vsg-purple-rgb),.8);font-family:var(--font-primary);font-size:13px;font-weight:400;cursor:pointer;transition:all .2s ease;position:relative}.language-option:hover{background:rgba(var(--vsg-purple-rgb),.1);color:var(--vsg-purple);transform:scale(1.1)}.language-option.active{background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.2),rgba(var(--vsg-purple-rgb),.2));color:var(--vsg-purple);font-weight:400}.language-option.active:before{content:"✓";position:absolute;right:12px;color:var(--vsg-purple);font-size:14px}.language-name{flex:1;display:flex;align-items:center;line-height:1.4}body:has(.login-page):before{width:calc(50 * var(--vh-fit));height:calc(50 * var(--vh-fit))}.login-language-selector{position:absolute;top:20px;right:20px;z-index:100}.login-card{display:inline-flex;flex-direction:column;align-items:center;padding:30px 40px;background:#000c;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:fit-content;min-width:450px;max-width:95%;position:relative;overflow:visible;margin:180px 0 auto}.login-card:after{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(45deg,var(--vsg-purple),var(--vsg-purple),rgba(var(--vsg-purple-rgb),.83),rgba(var(--vsg-purple-rgb),.64),var(--vsg-purple),var(--vsg-purple),rgba(var(--vsg-purple-rgb),.83),rgba(var(--vsg-purple-rgb),.64));border-radius:12px;opacity:0;z-index:-1;transition:opacity .3s ease;background-size:400% 400%}.login-card:hover:after{opacity:.3;animation:gradientShift 10s ease infinite}.login-content{position:relative;z-index:1;width:100%;display:flex;flex-direction:column;gap:20px}.login-header{text-align:center;margin-bottom:10px}.login-terms-header{color:var(--vsg-purple);font-size:11px;margin:15px 0 0;line-height:1.4;font-family:var(--font-primary);font-weight:300;letter-spacing:.3px}.login-subtitle{font-family:var(--font-primary);font-size:18px;color:rgba(var(--vsg-purple-rgb),.95);margin:0;font-weight:300;letter-spacing:.5px}.login-options{display:flex;flex-direction:column;gap:12px}.login-button{width:100%}.login-divider{position:relative;text-align:center;margin:8px 0;color:rgba(var(--vsg-purple-rgb),.6);font-size:12px;text-transform:uppercase;letter-spacing:2px;font-family:var(--font-primary)}.login-divider:before,.login-divider:after{content:"";position:absolute;top:50%;width:calc(50% - 30px);height:1px;background:linear-gradient(90deg,transparent,rgba(var(--vsg-purple-rgb),.3),transparent)}.login-divider:before{left:0}.login-divider:after{right:0}.login-tabs{display:flex;gap:8px;padding:4px;background:#0006;border:.25px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;animation:fadeIn .3s ease-out}.login-tabs .tab-button{flex:1;transition:all .3s ease}.login-form{display:flex;flex-direction:column;gap:16px}.form-fields-container{display:flex;flex-direction:column;gap:16px;animation:fadeIn .3s ease-out}.submit-button{width:100%;margin-top:8px}.login-error{background:rgba(var(--vsg-error-rgb),.1);border:.25px solid rgba(var(--vsg-error-rgb),.3);border-radius:8px;padding:10px;color:var(--vsg-error);text-align:center;font-size:12px;font-family:var(--font-primary)}.login-terms{color:rgba(var(--vsg-purple-rgb),.6);font-size:11px;margin:0;line-height:1.4;font-family:var(--font-primary)}.login-back-button{margin-top:0}.login-button:disabled,.submit-button:disabled{cursor:wait;opacity:.7}.remember-me-container{display:flex;align-items:center;margin-top:8px}.remember-me-label{display:flex;align-items:center;gap:12px;cursor:pointer;color:rgba(var(--vsg-purple-rgb),.7);font-size:14px;font-family:Roboto,sans-serif;font-weight:400;transition:all .3s ease;-webkit-user-select:none;user-select:none;position:relative;letter-spacing:.3px}.remember-me-label:hover{color:rgba(var(--vsg-purple-rgb),.95)}.remember-me-label span{transition:all .3s ease}.forgot-password-link-row{display:flex;justify-content:flex-end;margin-top:6px}.forgot-password-link{background:none;border:none;padding:4px 0;cursor:pointer;color:rgba(var(--vsg-purple-rgb),.7);font-size:13px;font-family:Roboto,sans-serif;font-weight:400;letter-spacing:.3px;transition:color .3s ease;text-decoration:none}.forgot-password-link:hover{color:rgba(var(--vsg-purple-rgb),.95);text-decoration:underline}.smart-button{animation:fadeInUp .4s ease-out;margin-top:20px}.smart-button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(var(--vsg-purple-rgb),.3)}.email-input-wrapper{position:relative}.email-input-wrapper .form-input{padding-right:36px}.email-dropdown-toggle{position:absolute;right:8px;top:0;height:44px;width:28px;background:transparent;border:none;color:rgba(var(--vsg-purple-rgb),.6);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.email-dropdown-toggle:hover{color:var(--vsg-purple)}.email-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:#000000f2;border:.5px solid rgba(var(--vsg-purple-rgb),.4);border-radius:8px;overflow:hidden;z-index:1000;max-height:200px;overflow-y:auto;box-shadow:0 8px 32px #00000080,0 0 20px rgba(var(--vsg-purple-rgb),.1)}.email-dropdown-item{width:100%;padding:12px 16px;background:transparent;border:none;color:rgba(var(--vsg-purple-rgb),.8);font-size:14px;font-family:var(--font-primary);text-align:left;cursor:pointer;transition:all .2s ease}.email-dropdown-item:hover{background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple)}.email-dropdown-item:not(:last-child){border-bottom:.5px solid rgba(var(--vsg-purple-rgb),.1)}.password-input-wrapper{position:relative}.password-input-wrapper .form-input{padding-right:48px}.password-toggle{position:absolute;right:8px;top:0;height:44px;width:32px;background:transparent;border:none;color:rgba(var(--vsg-purple-rgb),.6);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.password-toggle:hover{color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.1)}.password-toggle:hover svg{filter:drop-shadow(0 0 6px rgba(var(--vsg-purple-rgb),.5))}.password-toggle svg{transition:all .2s ease}.verification-title{color:var(--vsg-purple);font-family:var(--font-primary);font-size:24px;font-weight:300;margin:30px 0 0;letter-spacing:1px;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.3)}.verification-content{display:flex;flex-direction:column;align-items:center;gap:16px;padding:10px 0 25px}.verification-icon{margin-bottom:8px}.verification-icon svg{stroke:var(--vsg-purple);filter:drop-shadow(0 0 10px rgba(var(--vsg-purple-rgb),.4))}.verification-subtitle{color:rgba(var(--vsg-purple-rgb),.7);font-family:var(--font-primary);font-size:14px;margin:0;letter-spacing:.3px}.verification-email{color:var(--vsg-purple);font-family:var(--font-primary);font-size:18px;font-weight:400;margin:0;letter-spacing:.5px;text-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.4)}.verification-instructions{color:rgba(var(--vsg-purple-rgb),.8);font-family:var(--font-primary);font-size:14px;margin:10px 0 0;text-align:center;letter-spacing:.3px}.verification-spam{color:rgba(var(--vsg-purple-rgb),.6);font-family:var(--font-primary);font-size:12px;margin:0;font-style:normal;letter-spacing:.3px}.verification-message{padding:10px 20px;border-radius:6px;font-family:var(--font-primary);font-size:13px;margin:10px 0}.verification-message.success{background:rgba(var(--vsg-success-rgb),.1);color:var(--vsg-success);border:.5px solid rgba(var(--vsg-success-rgb),.3)}.verification-message.error{background:rgba(var(--vsg-error-rgb),.1);color:var(--vsg-error);border:.5px solid rgba(var(--vsg-error-rgb),.3)}.verification-message-floating{position:absolute;top:140px;left:50%;transform:translate(-50%);padding:10px 24px;border-radius:6px;font-family:var(--font-primary);font-size:13px;z-index:10;white-space:nowrap}.verification-message-floating.success{background:rgba(var(--vsg-success-rgb),.15);color:var(--vsg-success);border:.5px solid rgba(var(--vsg-success-rgb),.4);box-shadow:0 0 20px rgba(var(--vsg-success-rgb),.2)}.verification-message-floating.error{background:rgba(var(--vsg-magenta-rgb),.15);color:var(--vsg-magenta);border:.5px solid rgba(var(--vsg-magenta-rgb),.4);box-shadow:0 0 20px rgba(var(--vsg-magenta-rgb),.2)}.verification-actions{display:flex;flex-direction:column;align-items:center;gap:20px;margin-top:25px;width:100%}.verification-secondary-actions{display:flex;gap:12px;justify-content:center;width:280px}.verification-secondary-actions .fantamaster-button{flex:1}.verified-button{min-width:280px}.resend-button,.different-email-button{color:#ffffffb3}.resend-button:hover,.different-email-button:hover{color:var(--vsg-purple)}.banned-title{color:var(--vsg-error);font-family:var(--font-primary);font-size:24px;font-weight:300;margin:30px 0 0;letter-spacing:1px;text-shadow:0 0 20px rgba(var(--vsg-error-rgb),.3)}.banned-content{display:flex;flex-direction:column;align-items:center;gap:16px;padding:10px 0 25px}.banned-icon{margin-bottom:8px}.banned-icon svg{stroke:var(--vsg-error);filter:drop-shadow(0 0 10px rgba(var(--vsg-error-rgb),.4))}.banned-message{color:#ffffffe6;font-family:Lato,sans-serif;font-size:14px;line-height:1.8;text-align:center;max-width:400px;padding:20px;background:rgba(var(--vsg-error-rgb),.1);border:1px solid rgba(var(--vsg-error-rgb),.3);border-radius:8px}.banned-message p{margin:0 0 12px}.banned-message p:last-child{margin-bottom:0}.banned-actions{margin-top:20px}@media (max-width: 600px){.login-card{min-width:100%;padding:30px 25px}.login-header .fantasia-title{font-size:36px}.login-subtitle{font-size:16px}.verification-title{font-size:20px}.resend-button{min-width:100%}}.dashboard-page{--dashboard-section-gap: 16px;height:calc(100 * var(--vh-fit));display:flex;flex-direction:column;background:transparent;position:relative;overflow:hidden}.dashboard-content{flex:1;display:flex;flex-direction:column;gap:0;width:100%;margin:0;overflow:hidden;min-height:0}.sticky-header-wrapper{position:relative;flex-shrink:0;z-index:1000;padding:var(--fluid-page-gutter) var(--fluid-page-gutter) 0}:where(.dashboard-page,.campaign-creator-page) .dashboard-header-card{background:#000c;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--header-card-pad-y) var(--header-card-pad-x);position:relative;z-index:1002;overflow:visible;animation:fadeIn .6s ease-out;min-height:var(--header-card-minh)}:where(.dashboard-page,.campaign-creator-page) .dashboard-header-card:after{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(45deg,var(--vsg-purple),var(--vsg-purple),rgba(var(--vsg-purple-rgb),.83),rgba(var(--vsg-purple-rgb),.64),var(--vsg-purple),var(--vsg-purple),rgba(var(--vsg-purple-rgb),.83),rgba(var(--vsg-purple-rgb),.64));border-radius:12px;opacity:0;z-index:-1;transition:opacity .3s ease;background-size:400% 400%}:where(.dashboard-page,.campaign-creator-page) .dashboard-header-card:hover:after{opacity:.2;animation:gradientShift 10s ease infinite}:where(.dashboard-page,.campaign-creator-page) .header-top-row{min-height:50px;padding:5px 0;position:relative}:where(.dashboard-page,.campaign-creator-page) .header-top-row .user-info{background:none;padding:0;border-radius:0}.user-info-chip{display:flex;flex-wrap:wrap;align-items:center;gap:var(--chrome-gap-md);min-width:0;padding:var(--chip-pad);background:rgba(var(--vsg-purple-rgb),.1);border-radius:1rem}:where(.dashboard-page,.campaign-creator-page) .user-info{display:flex;align-items:center;gap:12px}.user-info-chip>div{display:flex;align-items:center;gap:var(--chrome-gap-chip)}.user-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;border:2px solid rgba(var(--vsg-purple-rgb),.3);position:relative;transition:all .3s ease}.user-avatar.clickable{cursor:pointer}.user-avatar.clickable:hover{border-color:rgba(var(--vsg-purple-rgb),.6);transform:scale(1.05)}.user-avatar img{width:100%;height:100%;object-fit:cover}.avatar-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;border-radius:50%}.user-avatar.clickable:hover .avatar-overlay{opacity:1}.avatar-overlay svg{color:rgba(var(--vsg-purple-rgb),.9)}.user-details{display:flex;flex-direction:column;gap:4px}.user-role{font-family:var(--font-primary);color:rgba(var(--vsg-purple-rgb),.7);font-size:11px;letter-spacing:1px;text-transform:uppercase;transition:color .3s ease}.user-role.game-master{color:var(--vsg-purple);font-weight:400}.user-avatar.game-master{border:2px solid var(--vsg-purple);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.3)}:where(.dashboard-page,.campaign-creator-page) .dashboard-title-center{display:flex;align-items:center;justify-content:center}:where(.dashboard-page,.campaign-creator-page) .header-top-row .header-actions{display:flex;flex:0 1 auto;flex-wrap:wrap;align-items:center;gap:15px}:where(.dashboard-page,.campaign-creator-page) .user-info .sign-out-btn{margin-left:var(--chrome-gap-sm)}.tab-navigation-section{display:flex;flex-direction:column;gap:0;animation:fadeInUp .8s ease-out .2s backwards}.dashboard-scroll-area{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;padding-top:var(--dashboard-section-gap)}.tab-content{padding:0 48px}.ai-unavailable-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 40px;text-align:center;color:#ffffff80;font-family:var(--font-primary);font-weight:300;background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:12px;max-width:500px;margin:40px auto}.ai-unavailable-card h3{color:rgba(var(--vsg-purple-rgb),.6);font-size:1.1rem;font-weight:400;margin-bottom:8px}.ai-unavailable-card p{font-size:.9rem;max-width:400px}.campaigns-section,.games-tab{display:flex;flex-direction:column;gap:0}:where(.dashboard-page,.campaign-creator-page) .section-title{font-family:var(--font-primary);color:var(--vsg-purple)}.games-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding-top:20px}.campaign-card{background:#000c;border:.25px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden;transition:all .3s ease;position:relative;animation:fadeInUp .6s ease-out backwards}.campaign-card:nth-child(1){animation-delay:.1s}.campaign-card:nth-child(2){animation-delay:.2s}.campaign-card:nth-child(3){animation-delay:.3s}.campaign-card:hover{transform:translateY(-5px);border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 10px 30px rgba(var(--vsg-purple-rgb),.2)}.campaign-header{position:relative;height:150px;background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.1),rgba(var(--vsg-purple-rgb),.06));transition:all .3s ease}.campaign-header.clickable{cursor:pointer}.campaign-header.clickable:hover .image-overlay{opacity:1}.campaign-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}:where(.dashboard-page,.campaign-creator-page) .image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;pointer-events:none}:where(.dashboard-page,.campaign-creator-page) .image-overlay svg{color:rgba(var(--vsg-purple-rgb),.8)}.campaign-image img{width:100%;height:100%;object-fit:cover}:where(.dashboard-page,.campaign-creator-page) .image-placeholder{width:100%;height:100%;background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.2),rgba(var(--vsg-purple-rgb),.13));display:flex;justify-content:center}:where(.dashboard-page,.campaign-creator-page) .image-placeholder span{font-size:48px;color:rgba(var(--vsg-purple-rgb),.6);font-family:var(--font-primary);font-weight:300;text-transform:uppercase}.dashboard-page .status-badge{position:absolute;top:10px;right:10px;padding:4px 12px;border-radius:20px;font-size:11px;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:1px;font-weight:400;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dashboard-page .status-badge.active{background:rgba(var(--vsg-success-rgb),.2);color:var(--vsg-success);border:1px solid rgba(var(--vsg-success-rgb),.3)}.dashboard-page .status-badge.paused{background:rgba(var(--vsg-caution-rgb),.2);color:var(--vsg-caution);border:1px solid rgba(var(--vsg-caution-rgb),.3)}.dashboard-page .status-badge.archived{background:rgba(var(--vsg-error-rgb),.2);color:var(--vsg-error);border:1px solid rgba(var(--vsg-error-rgb),.3)}.campaign-body{padding:20px;display:flex;flex-direction:column;gap:15px}.campaign-name{font-family:var(--font-primary);color:var(--vsg-purple);font-size:20px;font-weight:400;letter-spacing:.5px;margin:0}.campaign-world{font-family:var(--font-primary);color:rgba(var(--vsg-purple-rgb),.7);font-size:14px;margin:0;letter-spacing:.3px}.campaign-stats{display:flex;gap:20px;padding:10px 0;border-top:1px solid rgba(var(--vsg-purple-rgb),.1);border-bottom:1px solid rgba(var(--vsg-purple-rgb),.1)}.campaign-stats .stat{display:flex;align-items:center;gap:6px;color:rgba(var(--vsg-purple-rgb),.6);font-size:13px;font-family:var(--font-primary)}.campaign-stats svg{opacity:.7}.campaign-actions{display:flex;gap:10px;margin-top:5px}.campaign-actions .launch-btn{flex:1}.campaign-actions .edit-btn{min-width:80px}.empty-state-buttons{display:flex;gap:20px;justify-content:center;align-items:center;flex-wrap:wrap}.empty-state-buttons .btn,.empty-state-buttons button{width:250px!important;min-width:250px!important;box-sizing:border-box}@media (max-width: 1200px){.dashboard-content{padding:0 30px 30px}}@media (max-width: 600px){.dashboard-content{padding:0 20px 20px}.tab-content{padding:0 32px}}.dashboard .styled-display-name-with-tooltip,:where(.dashboard-page,.campaign-creator-page) .game-card .styled-display-name-with-tooltip,:where(.dashboard-page,.campaign-creator-page) .game-stats .styled-display-name-with-tooltip,:where(.dashboard-page,.campaign-creator-page) .styled-display-name-with-tooltip{position:relative!important;cursor:pointer!important;display:inline-block!important;pointer-events:auto!important}.dashboard .styled-display-name-with-tooltip .gm-rank-tooltip,:where(.dashboard-page,.campaign-creator-page) .game-card .styled-display-name-with-tooltip .gm-rank-tooltip,:where(.dashboard-page,.campaign-creator-page) .game-stats .styled-display-name-with-tooltip .gm-rank-tooltip,:where(.dashboard-page,.campaign-creator-page) .stat .styled-display-name-with-tooltip .gm-rank-tooltip,:where(.dashboard-page,.campaign-creator-page) .styled-display-name-with-tooltip .gm-rank-tooltip{visibility:hidden;position:absolute;bottom:125%;left:50%;transform:translate(-50%);background:#000000f2;color:#fffffff2;padding:8px 12px;border-radius:6px;border:1px solid rgba(var(--vsg-purple-rgb),.4);font-size:.85rem;white-space:nowrap;z-index:10000;pointer-events:none;box-shadow:0 4px 12px #00000080}.dashboard .styled-display-name-with-tooltip:hover .gm-rank-tooltip,:where(.dashboard-page,.campaign-creator-page) .game-card .styled-display-name-with-tooltip:hover .gm-rank-tooltip,:where(.dashboard-page,.campaign-creator-page) .game-stats .styled-display-name-with-tooltip:hover .gm-rank-tooltip,:where(.dashboard-page,.campaign-creator-page) .styled-display-name-with-tooltip:hover .gm-rank-tooltip{visibility:visible}:where(.dashboard-page,.campaign-creator-page) .summon-familiar-btn:hover{transform:scale(1.05);filter:brightness(1.2)}@media (max-width: 600px){.sticky-header-wrapper{padding:16px 16px 0}:where(.dashboard-page,.campaign-creator-page) .dashboard-header-card{border-radius:8px}}.campaign-creator-page{min-height:calc(100 * var(--vh-fit));display:flex;flex-direction:column;background:transparent}.creator-container{flex:1;display:flex;flex-direction:column;padding:40px 40px 20px;width:100%;margin:0 auto}.back-to-dashboard-btn{margin-left:20px}.creator-content{flex:1;display:flex;flex-direction:column;gap:15px}.progress-indicator{display:flex;justify-content:center;gap:30px;margin-top:20px;margin-bottom:-10px;animation:fadeInUp .6s ease-out .1s backwards;flex-wrap:wrap}:where(.campaign-creator-page) .progress-step.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--vsg-purple),var(--vsg-purple));animation:slideIn .3s ease-out}.creator-card{background:#000c;border:.25px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:60px;animation:fadeInUp .6s ease-out .2s backwards;min-height:500px}:where(.campaign-creator-page) .creator-step{display:flex;flex-direction:column;gap:40px;animation:fadeIn .4s ease-out}:where(.campaign-creator-page) .creator-step .step-header{text-align:center;display:block;width:100%}:where(.campaign-creator-page) .creator-step .step-header h2{font-family:var(--font-primary);color:var(--vsg-purple);font-size:32px;font-weight:300;letter-spacing:1px;margin:0 0 20px;text-align:center}:where(.campaign-creator-page) .step-description{font-family:var(--font-primary);color:rgba(var(--vsg-purple-rgb),.8);font-size:20px;line-height:1.6;max-width:600px;margin:0 auto 15px}.step-subtitle{font-family:var(--font-primary);color:rgba(var(--vsg-purple-rgb),.9);font-size:18px;font-weight:400;margin:15px 0;letter-spacing:.5px}.step-subtitle-large{font-family:var(--font-primary);color:var(--vsg-purple);font-size:32px;font-weight:300;letter-spacing:1px;margin:30px 0 0}.selection-options,.privacy-options{display:flex;flex-direction:column;gap:30px;max-width:400px;margin:0 auto;align-items:center}.world-lore .privacy-options{margin-top:-20px}:where(.campaign-creator-page) .option-card{display:flex;flex-direction:column;gap:15px;text-align:center;width:300px}:where(.campaign-creator-page) .option-card .full-width{width:100%}:where(.campaign-creator-page) .option-subtitle{font-family:var(--font-primary);color:rgba(var(--vsg-purple-rgb),.6);font-size:16px;margin:0;letter-spacing:.5px}.world-browser{display:flex;flex-direction:column;height:100%;gap:20px}.world-browser-header{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:20px;flex-shrink:0}.world-browser-header-left{justify-self:start}.world-browser-header-center{justify-self:center}.world-browser-header-right{justify-self:end}.world-browser-title{font-family:var(--font-primary);color:var(--vsg-purple);font-size:24px;font-weight:300;letter-spacing:1px;margin:0;white-space:nowrap}.world-browser-search{width:300px;padding:10px 16px;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:var(--vsg-purple);font-family:var(--font-primary);font-size:14px;letter-spacing:.5px;outline:none;transition:all .3s ease}.world-browser-search::placeholder{color:rgba(var(--vsg-purple-rgb),.4)}.world-browser-search:focus{border-color:rgba(var(--vsg-purple-rgb),.6);background:rgba(var(--vsg-purple-rgb),.15)}.world-browser-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;flex:1;min-height:0;overflow-y:auto}.search-bar{margin-top:20px}.search-input{width:100%;max-width:400px;padding:12px 20px;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:var(--vsg-purple);font-family:var(--font-primary);font-size:16px;letter-spacing:.5px;outline:none;transition:all .3s ease}:where(.campaign-creator-page) .search-input::placeholder{color:rgba(var(--vsg-purple-rgb),.4)}.search-input:focus{border-color:rgba(var(--vsg-purple-rgb),.6);background:rgba(var(--vsg-purple-rgb),.15)}.worlds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:25px;max-height:400px;overflow-y:auto;padding:10px}.game-world-card{position:relative;background-color:#0009;background-size:cover;background-position:top center;background-repeat:no-repeat;border:.25px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;overflow:hidden;cursor:pointer;transition:all .3s ease;min-height:250px;display:flex;flex-direction:column}.game-world-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,#0003,#000000e6);pointer-events:none}.game-world-card:hover{transform:translateY(-5px);border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 10px 30px rgba(var(--vsg-purple-rgb),.2)}.world-placeholder{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:48px;color:rgba(var(--vsg-purple-rgb),.4);font-family:var(--font-primary);font-weight:300;z-index:1}.world-info{position:relative;padding:15px;z-index:2;background:linear-gradient(to top,#000000f2,#000000b3);margin-top:auto}.world-info h3{font-family:var(--font-primary);color:var(--vsg-purple);font-size:18px;margin:0 0 8px;font-weight:400}.world-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.world-header h3{margin:0}.world-badges-container{position:absolute;top:8px;right:8px;display:flex;gap:6px;z-index:3}.game-world-card .world-lore-badge{padding:4px 8px;border-radius:4px;font-family:var(--font-primary);font-size:10px;font-weight:400;letter-spacing:1px;background:#000c;border:1px solid rgba(var(--vsg-purple-rgb),.5);color:var(--vsg-purple)}.game-world-card .world-type-badge{padding:4px 8px;border-radius:4px;font-family:var(--font-primary);font-size:10px;font-weight:400;font-style:normal;letter-spacing:1px;background:#000c;border:1px solid rgba(var(--vsg-purple-rgb),.5);color:var(--vsg-purple)}.lore-type-indicator{padding:2px 6px;border-radius:4px;font-family:var(--font-primary);font-size:11px;font-weight:400;letter-spacing:.5px;margin-left:8px}.lore-type-indicator.ffa{background:rgba(var(--vsg-success-rgb),.2);color:var(--vsg-success);border:1px solid rgba(var(--vsg-success-rgb),.3)}.lore-type-indicator.ca{background:rgba(var(--vsg-caution-rgb),.2);color:var(--vsg-caution);border:1px solid rgba(var(--vsg-caution-rgb),.3)}.lore-type-indicator.ol{background:rgba(var(--vsg-error-rgb),.2);color:var(--vsg-error);border:1px solid rgba(var(--vsg-error-rgb),.3)}.lore-type-indicator.open{background:rgba(var(--vsg-purple-rgb),.2);color:var(--vsg-purple);border:1px solid rgba(var(--vsg-purple-rgb),.3)}.world-description{color:#fff;font-size:14px;margin:0 0 12px;line-height:1.4;font-family:var(--font-primary);letter-spacing:.3px}.world-meta{display:flex;justify-content:space-between;font-size:12px;color:rgba(var(--vsg-purple-rgb),.5);font-family:var(--font-primary);letter-spacing:.3px}.world-meta .games-count{color:rgba(var(--vsg-purple-rgb),.7);font-weight:400}:where(.campaign-creator-page) .selected-world,:where(.campaign-creator-page) .world-privacy{font-family:var(--font-primary);color:rgba(var(--vsg-purple-rgb),.8);font-size:18px;margin:10px 0}:where(.campaign-creator-page) .details-form{background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;padding:40px;min-height:200px;display:flex;flex-direction:column;gap:25px}:where(.campaign-creator-page) .form-group{display:flex;flex-direction:column;gap:10px}:where(.campaign-creator-page) .form-group label{font-family:var(--font-primary);font-weight:400}:where(.campaign-creator-page) .field-help{margin-left:8px;font-size:.75rem;color:var(--vsg-purple);font-weight:400;text-transform:none;letter-spacing:normal;cursor:help;font-style:normal}:where(.campaign-creator-page) .form-help{display:block;margin-top:4px;font-size:.75rem;color:var(--vsg-purple);font-style:normal;font-weight:400}.campaign-creator-page .stats-bar{display:none!important}.ip-warning-title{color:var(--vsg-purple)!important;font-size:24px!important;margin-bottom:12px!important}.ip-authorization .step-description{font-size:15px!important;white-space:pre-line!important}:where(.campaign-creator-page) .required-asterisk{color:var(--vsg-magenta);font-weight:400;margin-left:2px}.ip-authorization *{box-sizing:border-box}.details-form.ip-auth-form,.ip-auth-form.details-form,.ip-authorization .details-form{padding:24px 0!important;gap:16px!important;background:transparent!important;background-color:transparent!important;background-image:none!important;border:none!important;border-width:0!important;box-shadow:none!important;max-width:600px!important;margin:0 auto!important}.ip-auth-form>*,.ip-auth-form>*>*,.ip-auth-form>*>*>*{background:transparent!important;background-color:transparent!important;border:none!important;box-shadow:none!important;border-radius:0!important}.checkbox-group{display:flex;flex-direction:column;gap:4px}.ip-authorization .checkbox-group,.ip-authorization .checkbox-row{background:transparent!important;background-color:transparent!important;background-image:none!important;border:none!important;border-width:0!important;box-shadow:none!important;border-radius:0!important;outline:none!important}.ip-authorization .checkbox-content,.ip-authorization .checkbox-content span{background:transparent!important;background-color:transparent!important;border:none!important;box-shadow:none!important;padding:0!important}.ip-authorization .checkbox-content ul,.ip-authorization .checkbox-content li{background:transparent!important;border:none!important;box-shadow:none!important}.ip-authorization .checkbox-row{padding:8px 0!important}.ip-authorization .form-group{background:transparent!important;border:none!important;box-shadow:none!important}.checkbox-row{display:flex;align-items:flex-start;gap:12px;padding:8px 0;cursor:pointer;transition:background-color .2s ease}.ip-authorization .checkbox-row{align-items:flex-start!important;gap:10px!important}.ip-authorization .checkbox-row:hover{background:transparent}.checkbox-content{flex:1;display:flex;flex-direction:column;gap:6px}.checkbox-row .checkbox-label{font-family:var(--font-primary);color:#ffffffe6;font-size:14px;font-weight:400!important;line-height:1.4;letter-spacing:.2px;text-transform:none!important}.checkbox-sublist{margin:4px 0 0;padding-left:18px;list-style:disc}.checkbox-sublist li{font-family:var(--font-primary);color:#ffffffb3;font-size:13px;font-weight:400!important;line-height:1.4;margin-bottom:2px;letter-spacing:.2px;text-transform:none!important}.settings-questions-section{display:flex;flex-direction:column;gap:25px}.settings-toggles-section{display:flex;flex-direction:column;gap:20px;padding-top:8px;border-top:1px solid rgba(var(--vsg-purple-rgb),.1)}.settings-toggle-row{display:grid;grid-template-columns:280px 1fr;align-items:center;gap:0 1rem}.settings-toggle-row>label{font-family:var(--font-primary);color:rgba(var(--vsg-purple-rgb),.8);font-size:14px;letter-spacing:.5px;font-weight:400}.settings-toggle-control{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.settings-toggle-control .field-explanation{margin:0}:where(.campaign-creator-page) .game-details .settings-toggle-row{grid-template-columns:480px 1fr}:where(.campaign-creator-page) .game-details .settings-toggle-row.young-adult-setting .young-adult-warning{display:block;margin-top:2px;color:var(--vsg-magenta);font-size:12px}:where(.campaign-creator-page) .field-explanation{margin:4px 0 0;font-size:.9rem;color:rgba(var(--vsg-purple-rgb),.7);font-style:normal;font-family:var(--font-primary);font-weight:400}:where(.campaign-creator-page) .form-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23CD43FF' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px;width:100%}:where(.campaign-creator-page) .form-textarea{resize:vertical}.worlds-grid::-webkit-scrollbar{width:8px}.worlds-grid::-webkit-scrollbar-track{background:#0000004d;border-radius:4px}.worlds-grid::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.3);border-radius:4px}.worlds-grid::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.5)}@keyframes slideIn{0%{width:0}to{width:100%}}@media (max-width: 600px){.creator-card{padding:40px 20px}.selection-options,.privacy-options{gap:20px}.progress-indicator{flex-direction:column;gap:15px;align-items:center}:where(.campaign-creator-page) .creator-step .step-header h2{font-size:24px}}.genre-picker-modal{background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;max-width:520px;width:90%;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.2)}.genre-picker-modal .modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.genre-picker-modal .modal-header-text{display:flex;flex-direction:column;gap:12px}.genre-picker-modal .modal-title{font-size:20px;font-weight:400;color:var(--vsg-purple);margin:0}.genre-picker-modal .modal-subtitle{font-size:13px;color:#ffffff87;margin:0;font-style:normal}.genre-picker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:24px}.genre-pill{display:flex;align-items:center;justify-content:center;padding:10px 12px;border-radius:20px;border:1px solid rgba(var(--vsg-purple-rgb),.3);background:rgba(var(--vsg-purple-rgb),.08);color:#ffffff9c;font-family:var(--font-primary);font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .3s ease;text-align:center;min-height:40px}.genre-pill:hover{border-color:rgba(var(--vsg-purple-rgb),.6);background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple)}.genre-pill.selected-main{background:rgba(var(--vsg-magenta-rgb),.2);border-color:rgba(var(--vsg-magenta-rgb),.5);color:var(--vsg-magenta);box-shadow:0 0 12px rgba(var(--vsg-magenta-rgb),.15)}.genre-pill.selected-sub{background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.5);color:var(--vsg-purple);box-shadow:0 0 12px rgba(var(--vsg-purple-rgb),.15)}.genre-pill .genre-order{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;font-size:10px;font-weight:400;margin-right:6px;flex-shrink:0}.genre-pill.selected-main .genre-order{background:rgba(var(--vsg-magenta-rgb),.3);color:var(--vsg-magenta)}.genre-pill.selected-sub .genre-order{background:rgba(var(--vsg-purple-rgb),.3);color:var(--vsg-purple)}.genre-picker-footer{display:flex;justify-content:flex-end;padding:16px 24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.2);gap:12px}.genre-picker-count{display:flex;align-items:center;font-size:13px;color:#ffffff73;margin-right:auto}.genre-picker-count .count-number{color:var(--vsg-purple);font-weight:400;margin:0 3px}.world-settings-page{min-height:calc(100 * var(--vh-fit));width:100%;padding:2rem;background:var(--vsg-surface);position:relative;animation:fadeIn .3s ease}.world-settings-container{width:100%;margin:0;padding:0 2rem}.world-settings-container>*{max-width:100%;background:#000c;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1.5rem 2rem}:where(.world-settings-page) .settings-header{position:relative;display:flex;justify-content:center;align-items:center;margin-bottom:1rem}:where(.world-settings-page) .settings-header .global-app-controls{position:absolute;right:0;top:50%;transform:translateY(-50%)}:where(.world-settings-page) .settings-title{font-family:var(--font-primary);font-size:2rem;font-weight:400;color:var(--vsg-purple);text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5);text-transform:uppercase;letter-spacing:2px;margin:0}:where(.world-settings-page) .settings-form{display:flex;flex-direction:column;gap:1rem;padding-bottom:60px}:where(.world-settings-page) .form-group{display:flex;flex-direction:column;gap:.5rem}.world-settings-page .settings-toggles-section{display:flex;flex-direction:column;gap:20px;padding-top:8px;border-top:1px solid rgba(var(--vsg-purple-rgb),.1)}.world-settings-page .settings-toggle-row{display:grid;grid-template-columns:240px 1fr;align-items:center;gap:0 1rem}.world-settings-page .settings-toggle-row>label{font-family:var(--font-primary);color:rgba(var(--vsg-purple-rgb),.8);font-size:14px;letter-spacing:.5px;font-weight:400}.world-settings-page .settings-toggle-control{display:flex;flex-direction:column;align-items:flex-start;gap:4px}:where(.world-settings-page) .form-group label{font-family:var(--font-primary);font-weight:400;text-transform:uppercase}:where(.world-settings-page) .form-input,:where(.world-settings-page) .form-textarea{width:100%;border-radius:8px;color:#ffffffe6;outline:none}:where(.world-settings-page) .form-select{width:100%;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;color:#ffffffe6;font-family:var(--font-primary);transition:all .3s ease;outline:none}:where(.world-settings-page) .form-select:focus{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.5)}:where(.world-settings-page) .form-input::placeholder,:where(.world-settings-page) .form-textarea::placeholder{color:#fff6}:where(.world-settings-page) .form-input.readonly{background:rgba(var(--vsg-purple-rgb),.02);color:rgba(var(--vsg-purple-rgb),.7);cursor:not-allowed}:where(.world-settings-page) .form-textarea{resize:vertical;min-height:100px;line-height:1.5}:where(.world-settings-page) .form-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23CD43FF' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}:where(.world-settings-page) .form-select option{background:var(--vsg-surface);color:#fff}.type-description{font-size:.85rem;color:rgba(var(--vsg-purple-rgb),.6);font-style:normal;margin-top:.25rem;font-family:var(--font-primary)}.background-upload{display:flex;justify-content:center;padding:1rem}.upload-background-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;width:100%;max-width:400px;height:200px;background:rgba(var(--vsg-purple-rgb),.05);border:2px dashed rgba(var(--vsg-purple-rgb),.3);border-radius:12px;color:rgba(var(--vsg-purple-rgb),.7);cursor:pointer;transition:all .3s ease;font-family:var(--font-primary);font-size:1rem;letter-spacing:.5px}.upload-background-btn:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.5);color:var(--vsg-purple);transform:translateY(-2px)}.upload-background-btn svg{opacity:.7}.background-preview{position:relative;width:100%;max-width:600px;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #00000080}.background-preview img{width:100%;height:300px;object-fit:cover;display:block}.change-background-btn{position:absolute;bottom:1rem;right:1rem;padding:10px 20px;background:#000c;border:1px solid rgba(var(--vsg-purple-rgb),.5);border-radius:8px;color:var(--vsg-purple);font-family:var(--font-primary);font-size:.9rem;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.change-background-btn:hover{background:rgba(var(--vsg-purple-rgb),.2);transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--vsg-purple-rgb),.3)}:where(.world-settings-page) .error-message{border-radius:8px;margin-bottom:1.5rem;color:var(--vsg-error);display:flex;justify-content:space-between;align-items:center}:where(.world-settings-page) .error-message button{background:none;border:none;color:var(--vsg-error);cursor:pointer;font-size:1.2rem;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:opacity .2s}:where(.world-settings-page) .error-message button:hover{opacity:.7}.world-settings-page .form-actions.form-actions{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;gap:1rem!important;position:fixed!important;bottom:0!important;left:0!important;right:0!important;padding:.75rem 2rem!important;background:rgba(var(--vsg-surface-rgb),.95)!important;border-top:1px solid rgba(var(--vsg-purple-rgb),.3)!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;z-index:100!important}.world-settings-page .form-actions .fantamaster-button{flex-shrink:0}.world-settings-page .form-actions .form-actions-spacer{flex:1!important}@media (max-width: 600px){.world-settings-container{padding:2rem 1.5rem}:where(.world-settings-page) .settings-title{font-size:1.5rem}:where(.world-settings-page) .form-actions{flex-direction:column}:where(.world-settings-page) .form-actions button{width:100%}}.character-sheets-section{margin-top:2rem;padding:1.5rem;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px}.character-sheets-section label{font-size:1.1rem;font-weight:400;color:var(--vsg-purple);margin-bottom:1rem}.character-sheets-actions{display:flex;flex-direction:column;gap:1rem}.character-sheets-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 2rem;background:linear-gradient(135deg,var(--vsg-purple) 0%,var(--vsg-purple) 100%);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:400;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px rgba(var(--vsg-purple-rgb),.3)}.character-sheets-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--vsg-purple) 0%,rgba(var(--vsg-purple-rgb),.83) 100%);transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--vsg-purple-rgb),.4)}.character-sheets-btn:disabled{opacity:.5;cursor:not-allowed}.character-sheets-btn svg{width:20px;height:20px}.character-sheets-description{font-size:.9rem;color:#ffffffb3;line-height:1.5;margin:0;text-align:center}:where(.world-settings-page) .required-asterisk{color:var(--vsg-magenta);font-weight:400;margin-left:2px}.xpa-designer{display:flex;flex-direction:column;gap:1.5rem;padding:1rem 0}.xpa-designer-header{display:flex;align-items:center;gap:.75rem}.xpa-designer-title{font-family:var(--font-primary);font-size:1.25rem;font-weight:300;color:var(--vsg-purple);margin:0;letter-spacing:.5px}.xpa-dirty-dot{width:8px;height:8px;border-radius:50%;background:var(--vsg-purple);animation:xpa-pulse 1.5s infinite}@keyframes xpa-pulse{0%,to{opacity:1}50%{opacity:.4}}.xpa-settings{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:rgba(var(--vsg-purple-rgb),.03);border:1px solid rgba(var(--vsg-purple-rgb),.1);border-radius:8px}:where(.xpa-designer) .xpa-form-group{display:flex;flex-direction:column;gap:.375rem}.xpa-form-label{color:var(--vsg-purple);text-transform:uppercase;font-size:.75rem;letter-spacing:.5px;font-family:var(--font-primary);font-weight:300}:where(.xpa-designer) .xpa-form-input{background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:6px;padding:.625rem;color:#ffffffe6;font-family:var(--font-primary);font-size:.875rem;font-weight:300;transition:border-color .2s}:where(.xpa-designer) .xpa-form-input:focus{outline:none;border-color:var(--vsg-purple)}:where(.xpa-designer) .xpa-form-input::placeholder{color:#ffffff4d}:where(.xpa-designer) .xpa-textarea{resize:vertical;min-height:3rem}.xpa-form-hint{font-size:.7rem;color:#fff6;font-family:var(--font-primary);font-weight:300}:where(.xpa-designer) .xpa-formula-input{font-family:var(--font-primary);font-size:.8rem}:where(.xpa-designer) .xpa-config-row{display:flex;gap:1rem;flex-wrap:wrap}:where(.xpa-designer) .xpa-config-row>.xpa-form-group{flex:1;min-width:120px}:where(.xpa-designer) .xpa-category-card{background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;padding:0;transition:border-color .2s}:where(.xpa-designer) .xpa-category-card:hover{border-color:rgba(var(--vsg-purple-rgb),.4)}:where(.xpa-designer) .xpa-category-card.expanded{border-color:rgba(var(--vsg-purple-rgb),.4)}.xpa-field-card{background:#0003;border:1px solid rgba(var(--vsg-purple-rgb),.1);border-radius:6px;transition:border-color .2s}.xpa-field-card.expanded{border-color:rgba(var(--vsg-purple-rgb),.3)}:where(.xpa-designer) .xpa-card-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;cursor:pointer;-webkit-user-select:none;user-select:none}:where(.xpa-designer) .xpa-card-title{flex:1;font-family:var(--font-primary);font-size:.9rem;font-weight:300;color:#ffffffe6}:where(.xpa-designer) .xpa-card-body{display:flex;flex-direction:column;gap:1rem;padding:0 1rem 1rem}:where(.xpa-designer) .xpa-expand-chevron{transition:transform .2s;color:#ffffff80;flex-shrink:0}:where(.xpa-designer) .xpa-expand-chevron.expanded{transform:rotate(90deg)}:where(.xpa-designer) .xpa-badge{background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple);font-size:.7rem;padding:.15rem .5rem;border-radius:10px;font-family:var(--font-primary);font-weight:300}.xpa-badge-type{background:rgba(var(--vsg-purple-rgb),.1);color:#fff9;font-size:.65rem;padding:.1rem .4rem;border-radius:4px;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:.3px}:where(.xpa-designer) .xpa-card-actions{display:flex;align-items:center;gap:.25rem;margin-left:auto}.xpa-icon-btn{background:none;border:none;color:#fff6;cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:color .2s,background .2s}.xpa-icon-btn:hover:not(:disabled){color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.1)}.xpa-icon-btn:disabled{opacity:.3;cursor:default}.xpa-empty-state{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:3rem 2rem;text-align:center}.xpa-empty-title{font-family:var(--font-primary);font-size:1rem;color:#fff9;font-weight:300;margin:0}:where(.xpa-designer) .xpa-empty-hint{font-family:var(--font-primary);font-size:.8rem;color:#fff6;font-weight:300;margin:0;max-width:400px}.xpa-categories-section,.xpa-modifiers-section{display:flex;flex-direction:column;gap:.75rem}.xpa-section-title{font-family:var(--font-primary);font-size:1rem;font-weight:300;color:var(--vsg-purple);margin:0 0 .25rem;letter-spacing:.3px}.xpa-fields-list{display:flex;flex-direction:column;gap:.5rem}:where(.xpa-designer) .xpa-field-config{display:flex;flex-direction:column;gap:.75rem}.xpa-field-editor{display:flex;flex-direction:column;gap:.75rem}.xpa-lookup-table{display:flex;flex-direction:column;gap:.375rem}.xpa-table-header{display:grid;grid-template-columns:1fr 1fr auto;gap:.5rem;padding:0 .25rem}:where(.xpa-designer) .xpa-table-row{display:grid;grid-template-columns:1fr 1fr auto;gap:.5rem;align-items:center}.xpa-row-actions{display:flex;align-items:center;gap:.125rem}.xpa-checkbox-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.xpa-checkbox-group input[type=checkbox]{accent-color:var(--vsg-purple)}:where(.xpa-designer) .xpa-derived-notice{display:flex;flex-direction:column;gap:.35rem;padding:.85rem 1rem;border:1px solid rgba(var(--vsg-purple-rgb),.35);border-radius:10px;background:rgba(var(--vsg-purple-rgb),.08);font-family:var(--font-primary)}:where(.xpa-designer) .xpa-derived-notice-title{margin:0;font-size:.95rem;font-weight:400;letter-spacing:.4px;color:var(--vsg-purple)}:where(.xpa-designer) .xpa-derived-notice-body,:where(.xpa-designer) .xpa-derived-notice-summary{margin:0;font-size:.85rem;font-weight:300;line-height:1.45;color:#ffffffd9}:where(.xpa-designer) .xpa-derived-notice-summary{color:#ffffffa6}:where(.xpa-designer) .xpa-readonly-notice{display:flex;flex-direction:column;gap:.35rem;padding:.85rem 1rem;border:1px solid rgba(var(--vsg-purple-rgb),.35);border-radius:10px;background:rgba(var(--vsg-purple-rgb),.08);font-family:var(--font-primary)}:where(.xpa-designer) .xpa-readonly-notice-title{margin:0;font-size:.95rem;font-weight:400;letter-spacing:.4px;color:var(--vsg-purple)}:where(.xpa-designer) .xpa-readonly-notice-body{margin:0;font-size:.85rem;font-weight:300;line-height:1.45;color:#ffffffd9}:where(.xpa-designer) .xpa-table-row--keyed{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto auto}:where(.xpa-designer) .xpa-item-block{display:flex;flex-direction:column;gap:.35rem}:where(.xpa-designer) .xpa-computability{display:flex;flex-direction:column;gap:.35rem;padding:.85rem 1rem;border:1px solid rgba(var(--vsg-purple-rgb),.35);border-radius:10px;background:rgba(var(--vsg-purple-rgb),.08);font-family:var(--font-primary)}:where(.xpa-designer) .xpa-computability-title{margin:0;font-size:.95rem;font-weight:400;letter-spacing:.4px;color:var(--vsg-purple)}:where(.xpa-designer) .xpa-computability-list{margin:0;padding-left:1.1rem;font-size:.85rem;font-weight:300;line-height:1.5;color:#ffffffd9}.step-condition-editor{display:flex;flex-direction:column;gap:.5rem}.condition-toggle-row{display:flex;align-items:center;gap:.75rem}.condition-toggle-label{font-size:.85rem;color:var(--text-primary, rgba(255, 255, 255, .88))}.condition-hint{font-size:.75rem;color:rgba(var(--vsg-purple-rgb),.5);font-style:normal}.condition-editor-body{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:#0003;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:6px}.condition-logic-row{max-width:280px;margin-bottom:.25rem}.condition-rows{display:flex;flex-direction:column;gap:.375rem}.condition-row{display:flex;align-items:center;gap:.5rem}.condition-field{flex:1;min-width:0}.condition-operator{flex:0 0 140px}.condition-value{flex:1;min-width:0}.condition-value-input{width:100%;font-size:.85rem}.condition-value-number{max-width:80px}.condition-add-row{display:flex;align-items:center;gap:.5rem;margin-top:.25rem}.condition-add-btn{background:none;border:1px dashed rgba(var(--vsg-purple-rgb),.3);color:rgba(var(--vsg-purple-rgb),.7);font-size:.8rem;padding:.25rem .75rem;border-radius:4px;cursor:pointer;transition:all .15s ease}.condition-add-btn:hover{border-color:rgba(var(--vsg-purple-rgb),.5);color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.05)}.condition-template-container{position:relative}.condition-template-menu{position:absolute;top:100%;left:0;z-index:100;display:flex;flex-direction:column;min-width:200px;background:rgba(var(--vsg-surface-rgb),.95);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;padding:.25rem;margin-top:.25rem;box-shadow:0 4px 12px #00000080}.condition-template-option{background:none;border:none;color:var(--text-primary, rgba(255, 255, 255, .88));font-size:.8rem;text-align:left;padding:.4rem .6rem;border-radius:4px;cursor:pointer;transition:background .1s ease}.condition-template-option:hover{background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple)}.step-builder{display:flex;flex-direction:column;gap:1.5rem}.builder-header{margin-bottom:.5rem}:where(.step-builder) .section-description{color:#fff9;font-size:.85rem;margin:.5rem 0 0}.steps-list{display:flex;flex-direction:column;gap:.75rem}.step-card{display:flex;gap:1rem;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;padding:1rem;transition:all .2s ease}.step-card:hover{border-color:rgba(var(--vsg-purple-rgb),.4);background:rgba(var(--vsg-purple-rgb),.08)}.step-order{width:32px;height:32px;border-radius:50%;background:rgba(var(--vsg-purple-rgb),.2);border:1px solid rgba(var(--vsg-purple-rgb),.4);color:var(--vsg-purple);display:flex;align-items:center;justify-content:center;font-family:var(--font-primary);font-weight:400;flex-shrink:0}.step-name{font-family:var(--font-primary);color:var(--vsg-purple);font-size:.95rem;margin:0}.step-includes{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.5rem}.inclusion-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.2rem .5rem;border-radius:4px;font-size:.8rem;color:#ffffffd9;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.25)}.inclusion-chip .chip-type{font-size:.6rem;text-transform:uppercase;font-weight:400;padding:.05rem .3rem;border-radius:2px;letter-spacing:.3px}.chip-category .chip-type{background:rgba(var(--vsg-success-rgb),.2);color:var(--vsg-success)}.chip-group .chip-type{background:rgba(var(--vsg-gold-rgb),.2);color:var(--vsg-gold)}.chip-field .chip-type{background:rgba(var(--vsg-info-rgb),.2);color:var(--vsg-info)}.step-badge{display:inline-block;background:rgba(var(--vsg-success-rgb),.2);border:1px solid rgba(var(--vsg-success-rgb),.4);color:var(--vsg-success);font-size:.7rem;padding:.125rem .5rem;border-radius:4px;margin-top:.5rem;text-transform:uppercase}.step-editor{background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;overflow:hidden}.step-editor-header{padding:1rem 1.5rem;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.step-editor-title{font-family:var(--font-primary);color:var(--vsg-purple);margin:0;font-size:1rem}.step-editor-content{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.step-editor-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1rem 1.5rem;border-top:1px solid rgba(var(--vsg-purple-rgb),.2);background:#0003}.inclusions-list{display:flex;flex-wrap:wrap;gap:.5rem;min-height:40px;padding:.75rem;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:4px}.inclusion-item{display:flex;align-items:center;gap:.5rem;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;padding:.25rem .5rem;font-size:.85rem}.inclusion-type{font-size:.7rem;text-transform:uppercase;padding:.125rem .375rem;border-radius:2px;font-weight:400}.inclusion-type.type-category{background:rgba(var(--vsg-success-rgb),.2);color:var(--vsg-success)}.inclusion-type.type-group{background:rgba(var(--vsg-gold-rgb),.2);color:var(--vsg-gold)}.inclusion-type.type-field{background:rgba(var(--vsg-info-rgb),.2);color:var(--vsg-info)}.inclusion-name{color:#ffffffe6}.inclusion-remove{background:transparent;border:none;color:#ffffff80;cursor:pointer;padding:0 .25rem;font-size:1rem;line-height:1}.inclusion-remove:hover{color:var(--vsg-error)}.add-inclusion-row{display:flex;gap:.5rem;margin-top:.5rem}.add-inclusion-btn{background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;padding:.5rem .75rem;color:#ffffffb3;font-size:.8rem;cursor:pointer;transition:all .2s ease}.add-inclusion-btn:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.5);color:var(--vsg-purple)}.add-inclusion-btn.active{background:rgba(var(--vsg-purple-rgb),.2);border-color:var(--vsg-purple);color:var(--vsg-purple)}.add-inclusion-btn:disabled{opacity:.5;cursor:not-allowed}.inclusion-selector{background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:4px;padding:1rem;margin-top:.5rem}.selector-hint{color:#fff9;font-size:.85rem;margin:0 0 .75rem}.selector-options{display:flex;flex-wrap:wrap;gap:.5rem}.selector-options.field-grid{max-height:200px;overflow-y:auto}.selector-option{background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:4px;padding:.5rem .75rem;color:#fffc;font-size:.85rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.selector-option:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.15);border-color:rgba(var(--vsg-purple-rgb),.4)}.selector-option:disabled{opacity:.4;cursor:not-allowed}.option-count{color:#fff6;font-size:.75rem}.allocation-rule-editor{display:flex;flex-direction:column;gap:1.5rem}:where(.allocation-rule-editor) .rules-list{display:flex;flex-direction:column;gap:.75rem}:where(.allocation-rule-editor) .rule-card:hover{border-color:rgba(var(--vsg-purple-rgb),.4)}.rule-info{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.rule-name{font-family:var(--font-primary);color:var(--vsg-purple);font-size:.95rem;margin:0}.rule-type{font-size:.7rem;text-transform:uppercase;padding:.125rem .5rem;border-radius:4px;font-weight:400}.rule-type.type-batchPriority{background:rgba(var(--vsg-gold-rgb),.2);color:var(--vsg-gold)}.rule-type.type-pointPool{background:rgba(var(--vsg-info-rgb),.2);color:var(--vsg-info)}.rule-type.type-fixedPool{background:rgba(var(--vsg-success-rgb),.2);color:var(--vsg-success)}.rule-type.type-rollAndAssign{background:rgba(var(--vsg-error-rgb),.2);color:var(--vsg-error)}.rule-type.type-freeform{background:#ffffff1a;color:#ffffffb3}.rule-actions{display:flex;gap:.25rem;flex-shrink:0}.rule-summary{color:#ffffff80;font-size:.8rem;margin-top:.5rem;font-family:var(--font-primary)}.rule-targets{display:flex;align-items:flex-start;gap:.5rem;margin-top:.5rem}.targets-label{color:#fff6;font-size:.75rem;flex-shrink:0;padding-top:.15rem}.targets-chips{display:flex;flex-wrap:wrap;gap:.375rem}.target-chip{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.75rem;color:#ffffffd9;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.25)}.rule-editor-inline{display:flex;flex-direction:column;gap:1.25rem}.rule-editor-toolbar{display:flex;justify-content:space-between;align-items:center;padding-bottom:.75rem;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15)}.rule-editor-toolbar .back-link{background:transparent;border:none;color:rgba(var(--vsg-purple-rgb),.7);cursor:pointer;font-family:var(--font-primary);font-size:.85rem;padding:.25rem 0;transition:color .2s ease}.rule-editor-toolbar .back-link:hover{color:var(--vsg-purple)}.rule-editor-fields{display:flex;flex-direction:column;gap:1.25rem}.allocation-types{display:flex;flex-direction:column;gap:.5rem}.allocation-type-option{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:#0003;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:4px;cursor:pointer;transition:all .2s ease}.allocation-type-option:hover{background:rgba(var(--vsg-purple-rgb),.05);border-color:rgba(var(--vsg-purple-rgb),.3)}.allocation-type-option:has(input:checked){background:rgba(var(--vsg-purple-rgb),.1);border-color:var(--vsg-purple)}.allocation-type-option input[type=radio]{accent-color:var(--vsg-purple);margin-top:2px}:where(.allocation-rule-editor) .type-content{display:flex;flex-direction:column;gap:.125rem}:where(.allocation-rule-editor) .type-label{font-family:var(--font-primary);color:#ffffffe6;font-weight:400;font-size:.9rem}:where(.allocation-rule-editor) .type-desc{color:#fff6;font-size:.75rem;line-height:1.3}.type-config{background:#0003;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:4px;padding:1rem;display:flex;flex-direction:column;gap:1rem}.selector-grid{display:flex;flex-wrap:wrap;gap:.5rem;max-height:200px;overflow-y:auto;padding:.5rem;background:#0003;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:4px}.selector-grid.fields{max-height:250px}.selector-checkbox{display:flex;align-items:center;gap:.5rem;padding:.375rem .625rem;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:4px;cursor:pointer;transition:all .2s ease;font-size:.85rem}.selector-checkbox:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.3)}.selector-checkbox:has(input:checked){background:rgba(var(--vsg-purple-rgb),.15);border-color:var(--vsg-purple)}.selector-checkbox input[type=checkbox]{accent-color:var(--vsg-purple)}.selector-checkbox .field-count,.selector-checkbox .field-type-hint{color:#fff6;font-size:.75rem}.form-color{width:48px;height:36px;padding:.25rem;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;cursor:pointer}.form-color::-webkit-color-swatch-wrapper{padding:0}.form-color::-webkit-color-swatch{border:none;border-radius:2px}.cost-mode-toggle{display:flex;gap:0;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;overflow:hidden;width:fit-content}.cost-mode-btn{padding:.5rem 1rem;background:#0000004d;color:#fff9;border:none;cursor:pointer;font-size:.85rem;transition:all .2s ease}.cost-mode-btn:not(:last-child){border-right:1px solid rgba(var(--vsg-purple-rgb),.3)}.cost-mode-btn:hover{background:rgba(var(--vsg-purple-rgb),.1);color:#fffc}.cost-mode-btn.active{background:rgba(var(--vsg-purple-rgb),.2);color:var(--vsg-purple);font-weight:400}.formula-presets{display:flex;flex-wrap:wrap;gap:.5rem}.preset-btn{padding:.375rem .75rem;background:rgba(var(--vsg-purple-rgb),.08);border:1px solid rgba(var(--vsg-purple-rgb),.25);border-radius:4px;color:#ffffffb3;cursor:pointer;font-size:.8rem;transition:all .2s ease}.preset-btn:hover{background:rgba(var(--vsg-purple-rgb),.15);border-color:rgba(var(--vsg-purple-rgb),.4);color:#ffffffe6}.field-group-builder{display:flex;flex-direction:column;gap:1.5rem}.groups-list{display:flex;flex-direction:column;gap:1rem}.category-block{display:flex;flex-direction:column;gap:.5rem}.category-label{font-family:var(--font-primary);color:#ffffff80;font-size:.75rem;text-transform:uppercase;letter-spacing:1px;padding:.5rem 0;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.1)}.group-card{background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;padding:1rem;transition:all .2s ease}.group-card:hover{border-color:rgba(var(--vsg-purple-rgb),.4);background:rgba(var(--vsg-purple-rgb),.08)}.group-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.group-actions{display:flex;gap:.25rem;flex-shrink:0}.group-description{color:#fff9;font-size:.85rem;margin:.5rem 0 0}.group-fields{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.75rem}.field-tag{background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;padding:.25rem .5rem;font-size:.8rem;color:#fffc}.group-editor{background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;overflow:hidden}.group-editor-header{padding:1rem 1.5rem;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.group-editor-title{font-family:var(--font-primary);color:var(--vsg-purple);margin:0;font-size:1rem}.group-editor-content{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem;max-height:calc(60 * var(--vh-fit));overflow-y:auto}.group-editor-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1rem 1.5rem;border-top:1px solid rgba(var(--vsg-purple-rgb),.2);background:#0003}.quick-add-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.quick-add-btn{background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;padding:.5rem .75rem;color:#fffc;font-size:.85rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.quick-add-btn:hover{background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.5);color:var(--vsg-purple)}.quick-add-btn .field-count{color:#fff6;font-size:.75rem}.fields-selector{display:flex;flex-direction:column;gap:1rem;max-height:300px;overflow-y:auto;padding:.75rem;background:#0003;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:4px}.category-section{display:flex;flex-direction:column;gap:.5rem}.category-fields{display:flex;flex-wrap:wrap;gap:.5rem}:where(.field-group-builder) .field-checkbox{display:flex;align-items:center;gap:.5rem;padding:.375rem .625rem;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:4px;cursor:pointer;transition:all .2s ease}:where(.field-group-builder) .field-checkbox:has(input:checked){background:rgba(var(--vsg-purple-rgb),.15);border-color:var(--vsg-purple)}:where(.field-group-builder) .field-checkbox input[type=checkbox]{accent-color:var(--vsg-purple)}.selected-count{font-weight:400;color:#ffffff80;font-size:.85rem;margin-left:.5rem}.constraint-builder{display:flex;flex-direction:column;gap:1.5rem}.constraints-list{display:flex;flex-direction:column;gap:.75rem}.constraint-card{background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;padding:1rem;transition:all .2s ease}.constraint-card:hover{border-color:rgba(var(--vsg-purple-rgb),.4);background:rgba(var(--vsg-purple-rgb),.08)}.constraint-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.constraint-info{display:flex;align-items:center;gap:.75rem}.constraint-name{font-family:var(--font-primary);color:var(--vsg-purple);font-size:.95rem;margin:0}.constraint-severity{font-size:.7rem;text-transform:uppercase;padding:.125rem .5rem;border-radius:4px;font-weight:400}.constraint-severity.severity-error{background:rgba(var(--vsg-error-rgb),.2);color:var(--vsg-error)}.constraint-severity.severity-warning{background:rgba(var(--vsg-gold-rgb),.2);color:var(--vsg-gold)}.constraint-actions{display:flex;gap:.25rem;flex-shrink:0}.constraint-description{color:#fff9;font-size:.85rem;margin:.5rem 0 0}.constraint-type-badge{font-size:.7rem;text-transform:uppercase;padding:.125rem .5rem;border-radius:4px;font-weight:400;background:rgba(var(--vsg-info-rgb),.15);color:rgba(var(--vsg-info-rgb),.8)}.constraint-logic{margin-top:.5rem}.constraint-logic code{font-family:var(--font-primary);font-size:.8rem;color:#ffffffb3;background:#0000004d;padding:.25rem .5rem;border-radius:4px;display:inline-block}.constraint-error-message{color:#ffffff80;font-size:.8rem;margin-top:.5rem;font-style:normal}.constraint-editor{background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;overflow:hidden}.constraint-editor-header{padding:1rem 1.5rem;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.constraint-editor-title{font-family:var(--font-primary);color:var(--vsg-purple);margin:0;font-size:1rem}.constraint-editor-content{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem;max-height:calc(60 * var(--vh-fit));overflow-y:auto}.constraint-editor-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1rem 1.5rem;border-top:1px solid rgba(var(--vsg-purple-rgb),.2);background:#0003}.type-options{display:flex;flex-direction:column;gap:.5rem}.type-option{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:#0003;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:4px;cursor:pointer;transition:all .2s ease}.type-option:hover{background:rgba(var(--vsg-purple-rgb),.05);border-color:rgba(var(--vsg-purple-rgb),.3)}.type-option:has(input:checked){background:rgba(var(--vsg-purple-rgb),.1);border-color:var(--vsg-purple)}.type-option input[type=radio]{accent-color:var(--vsg-purple);margin-top:2px}.type-content{display:flex;flex-direction:column;gap:.125rem}.type-label{font-family:var(--font-primary);color:#ffffffe6;font-weight:400;font-size:.9rem}.type-desc{color:#fff6;font-size:.75rem;line-height:1.3}.fields-grid{display:flex;flex-wrap:wrap;gap:.5rem;max-height:200px;overflow-y:auto;padding:.5rem;background:#0003;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:4px}.severity-options{display:flex;gap:1rem}.severity-option{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#0003;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:4px;cursor:pointer;transition:all .2s ease}.severity-option:hover{background:rgba(var(--vsg-purple-rgb),.05)}.severity-option:has(input:checked){border-color:var(--vsg-purple)}.severity-option input[type=radio]{accent-color:var(--vsg-purple)}.severity-label{font-weight:400}.severity-label.error{color:var(--vsg-error)}.severity-label.warning{color:var(--vsg-gold)}.severity-desc{color:#ffffff80;font-size:.8rem}.exception-builder{display:flex;flex-direction:column;gap:1.5rem}.exceptions-list{display:flex;flex-direction:column;gap:.75rem}.exception-card{background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;padding:1rem;transition:all .2s ease}.exception-card:hover{border-color:rgba(var(--vsg-purple-rgb),.4);background:rgba(var(--vsg-purple-rgb),.08)}.exception-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.exception-description{font-family:var(--font-primary);color:var(--vsg-purple);font-size:.95rem;margin:0}.exception-actions{display:flex;gap:.25rem;flex-shrink:0}.exception-rule{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;font-size:.85rem}.rule-if,.rule-then{font-weight:400;color:#fff6;text-transform:uppercase;font-size:.7rem}.rule-condition{background:rgba(var(--vsg-info-rgb),.15);border:1px solid rgba(var(--vsg-info-rgb),.3);border-radius:4px;padding:.25rem .5rem;color:var(--vsg-info)}.rule-effect{background:rgba(var(--vsg-success-rgb),.15);border:1px solid rgba(var(--vsg-success-rgb),.3);border-radius:4px;padding:.25rem .5rem;color:var(--vsg-success)}.exception-editor{background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;overflow:hidden}.exception-editor-header{padding:1rem 1.5rem;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.exception-editor-title{font-family:var(--font-primary);color:var(--vsg-purple);margin:0;font-size:1rem}.exception-editor-content{padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem;max-height:calc(60 * var(--vh-fit));overflow-y:auto}.exception-editor-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1rem 1.5rem;border-top:1px solid rgba(var(--vsg-purple-rgb),.2);background:#0003}.condition-section,.effect-section{background:#0003;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:8px;padding:1rem}.subsection-title{font-family:var(--font-primary);color:#fffc;font-size:.9rem;margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}:where(.exception-builder) .keyword{background:rgba(var(--vsg-purple-rgb),.2);color:var(--vsg-purple);padding:.125rem .5rem;border-radius:4px;font-size:.7rem;font-weight:400;text-transform:uppercase}.effect-hint{color:#ffffff80;font-size:.8rem;margin:.75rem 0 0;font-style:normal}.selection-badge{background:rgba(var(--vsg-purple-rgb),.2);color:var(--vsg-purple);padding:.125rem .625rem;border-radius:20px;font-size:.75rem;font-weight:400;white-space:nowrap}:where(.exception-builder) .effect-row{background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.12);border-radius:8px;padding:.75rem;margin-bottom:.5rem}:where(.exception-builder) .effect-row-controls{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}:where(.exception-builder) .effect-row .effect-hint{margin:.25rem 0 0;font-size:.75rem}.effect-type-dropdown{min-width:140px}.effect-field-dropdown{min-width:140px;flex:1}.effect-value-input{max-width:120px}.selection-section{background:#0003;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:8px;padding:1rem}.selection-step-card{background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;padding:1rem;margin-bottom:.75rem}.selection-step-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.step-subform{border-top:1px solid rgba(var(--vsg-purple-rgb),.1);margin-top:.75rem;padding-top:.75rem}.selection-field-list{max-height:200px;overflow-y:auto;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:6px}.selection-field-list.compact{max-height:120px}.selection-field-option{display:flex;align-items:center;gap:12px;padding:8px 12px;background:rgba(var(--vsg-purple-rgb),.03);border-bottom:1px solid rgba(var(--vsg-purple-rgb),.08);cursor:pointer;transition:all .2s ease;color:#fffc;font-size:.85rem}.selection-field-option:last-child{border-bottom:none}.selection-field-option:hover{background:rgba(var(--vsg-purple-rgb),.08)}.selection-field-option.selected{background:rgba(var(--vsg-purple-rgb),.12);border-left:2px solid var(--vsg-purple)}.selection-field-option.excluded{opacity:.4;cursor:not-allowed}:where(.exception-builder) .form-textarea{width:100%;background:#00000080;color:#ffffffe6;font-family:inherit;resize:vertical}:where(.exception-builder) .form-textarea:focus{outline:none;border-color:var(--vsg-purple)}.per-option-toggle-row{display:flex;align-items:center;gap:.75rem}.per-option-effects-list{display:flex;flex-direction:column;gap:.75rem}.per-option-card{background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:8px;padding:.75rem}.per-option-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.per-option-name{flex:1}.per-option-card .effect-row{margin-bottom:.5rem}.per-option-card .add-button.small{font-size:.75rem;padding:.25rem .5rem;margin-top:.25rem}.option-condition-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.5rem;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.1);border-radius:6px}.option-condition-label{font-family:var(--font-primary);font-size:.75rem;color:rgba(var(--vsg-purple-rgb),.7);white-space:nowrap;font-weight:400}.creation-rules-editor-modal{background:var(--vsg-surface);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;max-width:900px;width:95%;max-height:calc(90 * var(--vh-fit));display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080}.creation-rules-editor-modal .modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.header-title-section{display:flex;flex-direction:column;gap:.25rem}.creation-rules-editor-modal .modal-title{font-family:var(--font-primary);color:var(--vsg-purple);font-size:1.25rem;margin:0}.sheet-name{font-size:.85rem;color:#fff9;display:flex;align-items:center;gap:.5rem}.ruleset-badge{background:rgba(var(--vsg-purple-rgb),.2);border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:4px;padding:.125rem .5rem;font-size:.75rem;color:var(--vsg-purple);font-weight:400}.editor-tabs{display:flex;gap:0;padding:0 1rem;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);overflow-x:auto}.editor-tab{background:transparent;border:none;padding:.75rem 1rem;color:#fff9;font-family:var(--font-primary);font-size:.9rem;cursor:pointer;transition:all .2s ease;border-bottom:2px solid transparent;display:flex;align-items:center;gap:.5rem;white-space:nowrap}.editor-tab:hover{color:#fffc;background:rgba(var(--vsg-purple-rgb),.05)}.editor-tab.active{color:var(--vsg-purple);border-bottom-color:var(--vsg-purple)}.editor-content{flex:1;overflow-y:auto;padding:1.5rem}.editor-section{display:flex;flex-direction:column;gap:1.5rem}:where(.creation-rules-editor-modal,.creation-rules-editor-inline) .form-group{display:flex;flex-direction:column;gap:.5rem}:where(.creation-rules-editor-modal,.creation-rules-editor-inline) .form-label{font-family:var(--font-primary);color:var(--vsg-purple);font-size:.85rem}:where(.creation-rules-editor-modal,.creation-rules-editor-inline) .form-input,:where(.creation-rules-editor-modal,.creation-rules-editor-inline) .form-textarea{background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);color:#ffffffe6;font-size:.95rem}:where(.creation-rules-editor-modal,.creation-rules-editor-inline) .form-select{color:#ffffffe6;font-family:var(--font-primary);font-size:.95rem}:where(.creation-rules-editor-modal,.creation-rules-editor-inline) .form-input:focus,:where(.creation-rules-editor-modal,.creation-rules-editor-inline) .form-textarea:focus{outline:none;border-color:var(--vsg-purple);background:#0009}:where(.creation-rules-editor-modal,.creation-rules-editor-inline) .form-select:focus{outline:none;box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.2)}:where(.creation-rules-editor-modal,.creation-rules-editor-inline) .form-textarea{resize:vertical}:where(.creation-rules-editor-modal,.creation-rules-editor-inline) .form-checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;color:#ffffffe6}:where(.creation-rules-editor-modal,.creation-rules-editor-inline) .form-checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--vsg-purple);cursor:pointer}.rules-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1rem;margin-top:1rem}.stat-card{background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;padding:1rem;text-align:center;display:flex;flex-direction:column;gap:.25rem}:where(.creation-rules-editor-modal,.creation-rules-editor-inline) .stat-value{font-family:var(--font-primary);color:var(--vsg-purple);font-weight:400}:where(.creation-rules-editor-modal,.creation-rules-editor-inline) .stat-label{text-transform:uppercase;letter-spacing:.5px}.creation-rules-editor-modal .modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:1rem;padding:1rem 1.5rem;border-top:1px solid rgba(var(--vsg-purple-rgb),.2)}.save-error-text{color:var(--vsg-error);font-size:.85rem;margin-right:auto}.item-list{display:flex;flex-direction:column;gap:.75rem}.item-card{background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;padding:1rem;transition:all .2s ease}.item-card:hover{border-color:rgba(var(--vsg-purple-rgb),.4);background:rgba(var(--vsg-purple-rgb),.08)}.item-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.item-card-title{font-family:var(--font-primary);color:var(--vsg-purple);font-size:.95rem;margin:0}.item-card-actions{display:flex;gap:.5rem}.item-card-content{color:#ffffffb3;font-size:.85rem}.action-btn-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:none;border-radius:6px;padding:4px;color:var(--vsg-purple);cursor:pointer;transition:all .2s ease}.action-btn-icon:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.15);transform:scale(1.1)}.action-btn-icon:active:not(:disabled){transform:scale(.95)}.action-btn-icon:disabled{opacity:.3;cursor:not-allowed}.action-btn-icon svg{width:16px;height:16px}.drag-handle{cursor:grab;color:#ffffff4d;padding:.25rem;margin-right:.5rem}.drag-handle:hover{color:rgba(var(--vsg-purple-rgb),.6)}.editor-content::-webkit-scrollbar{width:8px}.editor-content::-webkit-scrollbar-track{background:#0000004d;border-radius:4px}.editor-content::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.3);border-radius:4px}.editor-content::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.5)}.field-target-picker{display:flex;flex-direction:column;gap:1rem}.target-mode-selector{display:flex;flex-direction:row;gap:0}.target-mode-btn{background:transparent;border:none;padding:.75rem 1rem;color:#fff9;font-family:var(--font-primary);font-size:.85rem;cursor:pointer;transition:all .2s;border-bottom:2px solid transparent}.target-mode-btn.active{color:var(--vsg-purple);border-bottom-color:var(--vsg-purple)}.target-mode-btn:hover{color:#fffc;background:rgba(var(--vsg-purple-rgb),.05)}.field-sections{display:flex;flex-direction:column;gap:1rem}.field-section{display:flex;flex-direction:column;gap:.5rem}.field-section-title{font-family:var(--font-primary);font-size:.8rem;color:#ffffff80;text-transform:uppercase;letter-spacing:.5px}.field-checkboxes{display:flex;flex-wrap:wrap;gap:.5rem}.field-checkbox-item{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:4px;cursor:pointer;transition:all .2s;font-size:.85rem;color:#ffffffb3}.field-checkbox-item.checked{border-color:rgba(var(--vsg-purple-rgb),.5);background:rgba(var(--vsg-purple-rgb),.1);color:#ffffffe6}.field-checkbox-item:hover{border-color:rgba(var(--vsg-purple-rgb),.3)}.category-options{display:flex;flex-direction:column;gap:.5rem}.category-option{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:4px;cursor:pointer;transition:all .2s;color:#ffffffb3}.category-option:hover{border-color:rgba(var(--vsg-purple-rgb),.3)}.category-option.selected{border-color:rgba(var(--vsg-purple-rgb),.5);background:rgba(var(--vsg-purple-rgb),.1);color:#ffffffe6}.category-option-indicator{width:14px;height:14px;border-radius:50%;border:2px solid rgba(var(--vsg-purple-rgb),.4);background:transparent;flex-shrink:0;transition:all .2s ease;position:relative}.category-option.selected .category-option-indicator{border-color:var(--vsg-purple);background:var(--vsg-purple);box-shadow:inset 0 0 0 3px #000c}.group-input{width:100%;padding:.75rem;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;color:#ffffffe6;font-family:var(--font-primary);box-sizing:border-box}.group-input:focus{outline:none;border-color:var(--vsg-purple);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.2)}.target-hint{font-size:.8rem;color:#fff6;margin:0}.advancement-editor{display:flex;flex-direction:column;gap:1.5rem;padding:.5rem 0}.advancement-mode-selector{display:flex;flex-direction:column;gap:.5rem}.advancement-empty-state{padding:2rem 1.5rem;text-align:center;color:var(--text-secondary, rgba(255, 255, 255, .63));font-size:.9rem;background:#0003;border:1px dashed rgba(var(--vsg-purple-rgb),.2);border-radius:8px}.advancement-section{display:flex;flex-direction:column;gap:1rem}.advancement-section-title{font-family:var(--font-primary);font-size:.9rem;color:var(--vsg-purple);text-transform:uppercase;letter-spacing:.5px;padding-bottom:.5rem;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15);margin:0}.advancement-subsection{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.advancement-subsection-title{font-family:var(--font-primary);font-size:.8rem;color:rgba(var(--vsg-purple-rgb),.8);text-transform:uppercase;letter-spacing:.4px;margin:0}.advancement-pool-card{background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;overflow:hidden;transition:all .2s ease}.advancement-pool-card.expanded{border-color:rgba(var(--vsg-purple-rgb),.4)}.advancement-pool-card-header{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;cursor:pointer;transition:background .2s}.advancement-pool-card-header:hover{background:rgba(var(--vsg-purple-rgb),.03)}.advancement-color-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;border:1px solid rgba(255,255,255,.2)}.advancement-pool-card-body{padding:0 1rem 1.25rem;display:flex;flex-direction:column;gap:1rem}.advancement-expand-chevron{color:#ffffff80;transition:transform .2s;flex-shrink:0}.advancement-expand-chevron.expanded{transform:rotate(90deg)}.advancement-level-card{background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:1rem}.advancement-level-header{display:flex;align-items:center;gap:.75rem}.advancement-level-number{font-family:var(--font-primary);font-size:.9rem;font-weight:400;color:var(--vsg-purple);white-space:nowrap}.advancement-level-name-input{flex:1}.advancement-step-card{background:#00000040;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:6px;padding:.875rem;display:flex;flex-direction:column;gap:.75rem}.advancement-step-header{display:flex;align-items:center;gap:.75rem}.advancement-step-type-dropdown{flex-shrink:0}.advancement-step-type-dropdown .dropdown{min-width:120px}.advancement-step-name-input{flex:1}.advancement-step-config{display:flex;flex-direction:column;gap:.75rem;padding-top:.5rem;border-top:1px solid rgba(var(--vsg-purple-rgb),.1)}.advancement-cost-card{background:#0003;border:1px solid rgba(var(--vsg-purple-rgb),.12);border-radius:6px;padding:.75rem;display:flex;flex-direction:column;gap:.625rem}.advancement-prereq-row,.advancement-autogrant-row{display:flex;align-items:center;gap:.5rem;padding:.375rem 0}.advancement-options-list{display:flex;flex-direction:column;gap:.5rem}.advancement-option-card{background:#0003;border:1px solid rgba(var(--vsg-purple-rgb),.1);border-radius:4px;padding:.625rem;display:flex;flex-direction:column;gap:.5rem}.advancement-condition-editor{display:flex;flex-direction:column;gap:.75rem}.advancement-info-text{font-size:.85rem;color:var(--text-secondary, rgba(255, 255, 255, .63));padding:.75rem;background:#0003;border-radius:6px;border-left:3px solid rgba(var(--vsg-purple-rgb),.3);margin:0}.advancement-checkbox-row{display:flex;align-items:center;gap:.5rem;padding:.5rem 0}.advancement-repeating-config{padding-left:.5rem;border-left:2px solid rgba(var(--vsg-purple-rgb),.2);display:flex;flex-direction:column;gap:.75rem}.advancement-threshold-formula{padding:.75rem;background:#00000026;border:1px solid rgba(var(--vsg-purple-rgb),.12);border-radius:6px;display:flex;flex-direction:column;gap:.5rem}.advancement-thresholds{display:flex;flex-direction:column;gap:.5rem}.advancement-threshold-row{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:#0003;border-radius:4px;border:1px solid rgba(var(--vsg-purple-rgb),.1)}.advancement-threshold-label{font-family:var(--font-primary);font-size:.8rem;color:var(--text-primary, rgba(255, 255, 255, .88));min-width:80px}.advancement-threshold-value{flex:1;font-size:.85rem;color:var(--vsg-purple);font-weight:400}.advancement-threshold-add-row{display:flex;align-items:center;gap:.5rem;margin-top:.25rem}.advancement-add-btn{align-self:flex-start;margin-top:.25rem}.advancement-add-btn-inline{align-self:flex-start;margin-top:.125rem}.adv-form-group{display:flex;flex-direction:column;gap:.375rem}:where(.advancement-editor) .adv-form-label{font-family:var(--font-primary);font-size:.9rem;color:var(--vsg-purple);letter-spacing:.3px}.adv-form-input{padding:.625rem;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;color:var(--text-primary, rgba(255, 255, 255, .88));font-size:.9rem;font-family:var(--font-primary);transition:border-color .2s,box-shadow .2s}.adv-form-input:focus{outline:none;background:#0009;border-color:var(--vsg-purple);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.2)}.adv-form-input::placeholder{color:rgba(var(--vsg-purple-rgb),.4)}.adv-form-input-narrow{max-width:100px;text-align:center}.adv-form-textarea{width:100%;padding:.625rem;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;color:var(--text-primary, rgba(255, 255, 255, .88));font-size:.85rem;font-family:inherit;resize:vertical;min-height:60px;transition:border-color .2s,box-shadow .2s}.adv-form-textarea:focus{outline:none;background:#0009;border-color:var(--vsg-purple);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.2)}.adv-form-textarea::placeholder{color:rgba(var(--vsg-purple-rgb),.4)}.adv-form-hint{font-size:.7rem;color:rgba(var(--vsg-purple-rgb),.5)}.adv-form-row{display:flex;align-items:flex-end;gap:.75rem}.adv-form-color{width:48px;height:36px;padding:.25rem;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;cursor:pointer}.adv-form-color::-webkit-color-swatch-wrapper{padding:0}.adv-form-color::-webkit-color-swatch{border:none;border-radius:2px}.advancement-effects-list{display:flex;flex-direction:column;gap:.5rem}.advancement-effect-row{display:flex;align-items:center;gap:.5rem}.advancement-effect-row .adv-form-input{flex:1}.advancement-pool-card-body .field-target-picker{margin-top:.25rem}.adv-inherited{margin-bottom:1rem;border:1px solid rgba(var(--vsg-purple-rgb),.25);border-radius:8px;padding:.75rem}.adv-inherited-header{display:flex;align-items:center;gap:.5rem;background:none;border:none;padding:0;cursor:pointer;width:100%;text-align:left}.adv-inherited-title{margin:0}.adv-inherited-hint{font-size:.8rem;opacity:.7;margin:.5rem 0 .75rem}.adv-inherited-group{margin-top:.5rem}.adv-inherited-group-header{margin-bottom:.4rem}.adv-inherited-pool{padding:.4rem .6rem;opacity:.85}.adv-inherited-pool-name{display:flex;align-items:center;gap:.5rem;font-weight:400}.adv-inherited-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.adv-inherited-cost{display:flex;justify-content:space-between;gap:.75rem;padding:.15rem 0 .15rem 1.25rem;font-size:.85rem;opacity:.8}.adv-inherited-cost-formula{font-size:.8rem}.multiclass-editor{margin-top:1.5rem;padding:1rem;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:8px}.multiclass-editor-title{font-family:var(--font-primary);font-size:1rem;color:#ffffffe6;margin:0 0 .75rem}.multiclass-toggle,.multiclass-field-row{margin-bottom:1rem}.multiclass-max-classes{display:flex;flex-direction:column;gap:.35rem;margin-top:.75rem}.multiclass-prerequisites{margin-top:1rem}.multiclass-section-label{font-family:var(--font-primary);font-size:.9rem;color:#fffc;margin:0 0 .5rem}.multiclass-class-prereqs{margin-bottom:.75rem;padding:.6rem;background:#00000040;border:1px solid rgba(var(--vsg-purple-rgb),.1);border-radius:6px}.multiclass-class-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.multiclass-class-name{font-family:var(--font-primary);font-weight:400;font-size:.9rem;color:rgba(var(--vsg-purple-rgb),.9)}.multiclass-no-prereqs{font-size:.8rem;color:#fff6;font-style:normal}.multiclass-prereq-row{display:flex;align-items:center;gap:.5rem;margin-top:.4rem}.multiclass-prereq-row .custom-dropdown{flex:1}.multiclass-prereq-value{width:60px;padding:.35rem .5rem;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:4px;color:#ffffffe6;font-size:.85rem;text-align:center}.multiclass-prereq-remove{background:none;border:none;color:rgba(var(--vsg-error-rgb),.7);cursor:pointer;font-size:1.1rem;padding:.2rem .4rem;border-radius:4px;transition:all .15s ease}.multiclass-prereq-remove:hover{background:rgba(var(--vsg-error-rgb),.15);color:rgba(var(--vsg-error-rgb),.95)}.revocation-editor{display:flex;flex-direction:column;gap:1.5rem;padding:.5rem 0}.revocation-empty-state{padding:2rem 1.5rem;text-align:center;color:var(--text-secondary, rgba(255, 255, 255, .63));font-size:.9rem;background:#0003;border:1px dashed rgba(var(--vsg-purple-rgb),.2);border-radius:8px}.revocation-empty-hint{margin-top:.5rem;font-size:.8rem;color:rgba(var(--vsg-purple-rgb),.5)}.revocation-section-title{font-family:var(--font-primary);font-size:.9rem;color:var(--vsg-purple);text-transform:uppercase;letter-spacing:.5px;padding-bottom:.5rem;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15);margin:0}.revocation-rule-card{background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;overflow:hidden;transition:all .2s ease}.revocation-rule-card.expanded{border-color:rgba(var(--vsg-purple-rgb),.4)}.revocation-rule-card.disabled{opacity:.5}.revocation-rule-card-header{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;cursor:pointer;transition:background .2s}.revocation-rule-card-header:hover{background:rgba(var(--vsg-purple-rgb),.03)}.revocation-rule-name{flex:1;font-family:var(--font-primary);font-size:.95rem;color:var(--text-primary, rgba(255, 255, 255, .88));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.revocation-rule-name.unnamed{color:rgba(var(--vsg-purple-rgb),.4);font-style:normal}.revocation-trigger-badge{font-size:.7rem;padding:.2rem .5rem;border-radius:4px;background:rgba(var(--vsg-purple-rgb),.15);color:rgba(var(--vsg-purple-rgb),.9);text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.revocation-expand-chevron{color:#ffffff80;transition:transform .2s;flex-shrink:0}.revocation-expand-chevron.expanded{transform:rotate(90deg)}.revocation-rule-card-body{padding:0 1rem 1.25rem;display:flex;flex-direction:column;gap:1rem}.revoc-form-group{display:flex;flex-direction:column;gap:.375rem}.revoc-form-label{font-family:var(--font-primary);font-size:.9rem;color:var(--vsg-purple);letter-spacing:.3px}.revoc-form-input{padding:.625rem;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;color:var(--text-primary, rgba(255, 255, 255, .88));font-size:.9rem;font-family:var(--font-primary);transition:border-color .2s,box-shadow .2s}.revoc-form-input:focus{outline:none;background:#0009;border-color:var(--vsg-purple);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.2)}.revoc-form-input::placeholder{color:rgba(var(--vsg-purple-rgb),.4)}.revoc-form-textarea{width:100%;padding:.625rem;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;color:var(--text-primary, rgba(255, 255, 255, .88));font-size:.85rem;font-family:inherit;resize:vertical;min-height:60px;transition:border-color .2s,box-shadow .2s}.revoc-form-textarea:focus{outline:none;background:#0009;border-color:var(--vsg-purple);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.2)}.revoc-form-textarea::placeholder{color:rgba(var(--vsg-purple-rgb),.4)}.revoc-form-hint{font-size:.7rem;color:rgba(var(--vsg-purple-rgb),.5)}.revoc-form-row{display:flex;align-items:flex-end;gap:.75rem}.revocation-checkbox-row{display:flex;align-items:center;gap:.5rem;padding:.5rem 0}.revocation-field-tags{display:flex;flex-wrap:wrap;gap:.375rem}.revocation-field-tag{display:flex;align-items:center;gap:.25rem;padding:.2rem .5rem;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:4px;font-size:.8rem;color:var(--text-primary, rgba(255, 255, 255, .88))}.revocation-field-tag-remove{cursor:pointer;color:#fff6;font-size:.75rem;padding:0 .125rem;transition:color .15s}.revocation-field-tag-remove:hover{color:var(--vsg-error)}.revocation-trigger-config{padding:.875rem;background:#00000040;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:6px;display:flex;flex-direction:column;gap:.75rem}.revocation-conditions-section{display:flex;flex-direction:column;gap:.75rem;padding-top:.5rem;border-top:1px solid rgba(var(--vsg-purple-rgb),.1)}.revocation-condition-row{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#0003;border-radius:4px;border:1px solid rgba(var(--vsg-purple-rgb),.1)}.revocation-condition-row .revoc-form-input{flex:1}.revocation-add-btn{align-self:flex-start;margin-top:.25rem}.revocation-delete-btn{color:#fff6;cursor:pointer;font-size:.85rem;padding:.25rem;transition:color .15s;flex-shrink:0;background:none;border:none}.revocation-delete-btn:hover{color:var(--vsg-error)}.revocation-info-text{font-size:.85rem;color:var(--text-secondary, rgba(255, 255, 255, .63));padding:.75rem;background:#0003;border-radius:6px;border-left:3px solid rgba(var(--vsg-purple-rgb),.3);margin:0}.rule-layer-panel{display:flex;flex-direction:column;gap:.85rem;font-family:var(--font-primary)}:where(.rule-layer-panel) .rule-layer-statement{margin:0;font-size:.95rem;font-weight:300;letter-spacing:.4px;color:var(--vsg-purple)}:where(.rule-layer-panel) .rule-layer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}:where(.rule-layer-panel) .rule-layer-hint{font-size:.8rem;font-weight:300;line-height:1.45;color:#ffffffbf}.rule-layer-family-picker{margin-bottom:.85rem}.overlay-health-check{display:flex;flex-direction:column;gap:1rem}.overlay-health-loading,.overlay-health-error,:where(.overlay-health-check,.overlay-health-loading,.overlay-health-error) .overlay-health-empty{padding:1.5rem;text-align:center;color:var(--chromatic-text-secondary, rgba(255, 255, 255, .7));font-style:normal}.overlay-health-error{color:var(--chromatic-red, var(--vsg-error));background:var(--chromatic-red-tint, rgba(var(--vsg-error-rgb), .08));border:1px solid var(--chromatic-red-border, rgba(var(--vsg-error-rgb), .3));border-radius:4px}.overlay-health-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--chromatic-purple-border-faint, rgba(var(--vsg-purple-rgb), .15));padding-bottom:0}.overlay-health-tab{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;color:var(--chromatic-text-secondary, rgba(255, 255, 255, .7));font-family:inherit;font-size:.9rem;transition:all .2s ease}.overlay-health-tab:hover{color:var(--chromatic-text-primary, rgba(255, 255, 255, .95));background:var(--chromatic-purple-tint, rgba(var(--vsg-purple-rgb), .05))}.overlay-health-tab-active{color:var(--chromatic-purple, var(--vsg-purple));border-bottom-color:var(--chromatic-purple, var(--vsg-purple))}.overlay-health-tab-warning{color:var(--chromatic-amber, var(--vsg-gold))}.overlay-health-tab-warning.overlay-health-tab-active{border-bottom-color:var(--chromatic-amber, var(--vsg-gold))}.overlay-health-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;padding:.1rem .4rem;background:var(--chromatic-purple-tint, rgba(var(--vsg-purple-rgb), .15));border-radius:999px;font-size:.75rem;font-weight:400}.overlay-health-tab-warning .overlay-health-tab-count{background:var(--chromatic-amber-tint, rgba(var(--vsg-gold-rgb), .2));color:var(--chromatic-amber, var(--vsg-gold))}.overlay-health-tab-content{min-height:8rem}:where(.overlay-health-check,.overlay-health-loading,.overlay-health-error) .overlay-health-list{display:flex;flex-direction:column;gap:1rem}.overlay-health-list-group{display:flex;flex-direction:column;gap:.4rem}.overlay-health-list-family-title{margin:0;font-size:.8rem;font-weight:400;text-transform:uppercase;letter-spacing:.05em;color:var(--chromatic-text-secondary, rgba(255, 255, 255, .6))}:where(.overlay-health-check,.overlay-health-loading,.overlay-health-error) .overlay-health-list-rows{list-style:none;margin:0;padding:0;border:1px solid var(--chromatic-purple-border-faint, rgba(var(--vsg-purple-rgb), .15));border-radius:4px;overflow:hidden}:where(.overlay-health-check,.overlay-health-loading,.overlay-health-error) .overlay-health-list-row{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border-bottom:1px solid var(--chromatic-purple-border-faint, rgba(var(--vsg-purple-rgb), .1));font-size:.9rem}:where(.overlay-health-check,.overlay-health-loading,.overlay-health-error) .overlay-health-list-row:last-child{border-bottom:none}.overlay-health-list-row-added{background:var(--chromatic-green-tint, rgba(var(--vsg-success-rgb), .05))}.overlay-health-list-row-removed{background:var(--chromatic-red-tint, rgba(var(--vsg-error-rgb), .08))}.overlay-health-list-row-modified{background:var(--chromatic-amber-tint, rgba(var(--vsg-gold-rgb), .08))}.overlay-health-list-row-reordered{background:var(--chromatic-purple-tint, rgba(var(--vsg-purple-rgb), .08))}.overlay-health-list-row-orphan{background:var(--chromatic-amber-tint, rgba(var(--vsg-gold-rgb), .1));border-left:3px solid var(--chromatic-amber, var(--vsg-gold))}:where(.overlay-health-check,.overlay-health-loading,.overlay-health-error) .overlay-health-list-op-kind{font-weight:400;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;color:var(--chromatic-purple, var(--vsg-purple));min-width:8rem;font-family:var(--font-primary)}:where(.overlay-health-check,.overlay-health-loading,.overlay-health-error) .overlay-health-list-op-target{flex:1;color:var(--chromatic-text-primary, rgba(255, 255, 255, .9));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.overlay-health-list-op-target-stale{color:var(--chromatic-text-secondary, rgba(255, 255, 255, .55));text-decoration:line-through;font-style:normal}.overlay-health-list-orphan-code{font-size:.75rem;padding:.2rem .5rem;background:var(--chromatic-amber-tint, rgba(var(--vsg-gold-rgb), .2));border-radius:3px;color:var(--chromatic-amber, var(--vsg-gold));text-transform:uppercase;letter-spacing:.03em}.overlay-health-list-orphan-actions{display:flex;gap:.4rem}.overlay-health-orphan-explainer{margin:0 0 .5rem;padding:.6rem .75rem;background:var(--chromatic-amber-tint, rgba(var(--vsg-gold-rgb), .08));border:1px solid var(--chromatic-amber-border, rgba(var(--vsg-gold-rgb), .3));border-radius:4px;color:var(--chromatic-text-primary, rgba(255, 255, 255, .9));font-size:.85rem}:where(.overlay-health-check,.overlay-health-loading,.overlay-health-error) .overlay-health-list-drop-btn,.overlay-health-list-retarget-btn,.overlay-health-list-clone-btn{padding:.35rem .75rem;font-size:.8rem;border-radius:4px;cursor:pointer;font-family:inherit;transition:all .2s ease}:where(.overlay-health-check,.overlay-health-loading,.overlay-health-error) .overlay-health-list-drop-btn{background:var(--chromatic-red-tint, rgba(var(--vsg-error-rgb), .1));border:1px solid var(--chromatic-red-border, rgba(var(--vsg-error-rgb), .3));color:var(--chromatic-red, var(--vsg-error))}:where(.overlay-health-check,.overlay-health-loading,.overlay-health-error) .overlay-health-list-drop-btn:hover{background:var(--chromatic-red-tint-hover, rgba(var(--vsg-error-rgb), .2))}.overlay-health-list-retarget-btn{background:var(--chromatic-purple-tint, rgba(var(--vsg-purple-rgb), .1));border:1px solid var(--chromatic-purple-border, rgba(var(--vsg-purple-rgb), .3));color:var(--chromatic-purple, var(--vsg-purple))}.overlay-health-list-retarget-btn:hover:not(:disabled){background:var(--chromatic-purple-tint-hover, rgba(var(--vsg-purple-rgb), .2))}.overlay-health-list-retarget-btn:disabled{opacity:.4;cursor:not-allowed}.overlay-health-list-clone-btn{background:var(--chromatic-amber-tint, rgba(var(--vsg-gold-rgb), .1));border:1px solid var(--chromatic-amber-border, rgba(var(--vsg-gold-rgb), .3));color:var(--chromatic-amber, var(--vsg-gold))}.overlay-health-list-clone-btn:hover{background:var(--chromatic-amber-tint-hover, rgba(var(--vsg-gold-rgb), .2))}:where(.overlay-health-check,.overlay-health-loading,.overlay-health-error) .overlay-health-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}:where(.overlay-health-check,.overlay-health-loading,.overlay-health-error) .overlay-health-modal-content{position:relative;background:var(--chromatic-bg-elevated, rgba(var(--vsg-surface-rgb), .95));border:1px solid var(--chromatic-purple-border, rgba(var(--vsg-purple-rgb), .3));border-radius:8px;padding:2rem 1.5rem 1.5rem;max-width:520px;width:100%;max-height:calc(80 * var(--vh-fit));overflow-y:auto;box-shadow:0 0 24px var(--chromatic-purple-glow, rgba(var(--vsg-purple-rgb), .15));display:flex;flex-direction:column;gap:.75rem}:where(.overlay-health-check,.overlay-health-loading,.overlay-health-error) .overlay-health-modal-title{margin:0 0 .25rem;font-size:1.15rem;color:var(--chromatic-text-primary, rgba(255, 255, 255, .95));font-weight:400}:where(.overlay-health-check,.overlay-health-loading,.overlay-health-error) .overlay-health-modal-body{margin:0;color:var(--chromatic-text-secondary, rgba(255, 255, 255, .75));font-size:.9rem;line-height:1.5}:where(.overlay-health-check,.overlay-health-loading,.overlay-health-error) .overlay-health-modal-op-summary{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;background:var(--chromatic-purple-tint, rgba(var(--vsg-purple-rgb), .05));border:1px solid var(--chromatic-purple-border-faint, rgba(var(--vsg-purple-rgb), .15));border-radius:4px}:where(.overlay-health-check,.overlay-health-loading,.overlay-health-error) .overlay-health-modal-op-kind{font-weight:400;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;color:var(--chromatic-purple, var(--vsg-purple));font-family:var(--font-primary)}:where(.overlay-health-check,.overlay-health-loading,.overlay-health-error) .overlay-health-modal-op-target{flex:1;color:var(--chromatic-text-primary, rgba(255, 255, 255, .9))}.overlay-health-modal-op-target-stale{color:var(--chromatic-text-secondary, rgba(255, 255, 255, .55));text-decoration:line-through;font-style:normal}.overlay-health-modal-empty{margin:0;padding:.75rem;text-align:center;color:var(--chromatic-text-secondary, rgba(255, 255, 255, .6));font-style:normal;font-size:.85rem}:where(.overlay-health-check,.overlay-health-loading,.overlay-health-error) .overlay-health-modal-error{margin:0;padding:.6rem .75rem;background:var(--chromatic-red-tint, rgba(var(--vsg-error-rgb), .08));border:1px solid var(--chromatic-red-border, rgba(var(--vsg-error-rgb), .3));border-radius:4px;color:var(--chromatic-red, var(--vsg-error));font-size:.85rem}.overlay-health-modal-label{display:block;font-size:.85rem;color:var(--chromatic-text-secondary, rgba(255, 255, 255, .75));margin:0}.overlay-health-modal-input,.overlay-health-modal-select{width:100%;padding:.5rem .75rem;background:var(--chromatic-bg-input, rgba(0, 0, 0, .4));border:1px solid var(--chromatic-purple-border, rgba(var(--vsg-purple-rgb), .3));border-radius:4px;color:var(--chromatic-text-primary, rgba(255, 255, 255, .95));font-family:inherit;font-size:.9rem}.overlay-health-modal-input:focus,.overlay-health-modal-select:focus{outline:none;border-color:var(--chromatic-purple, var(--vsg-purple))}:where(.overlay-health-check,.overlay-health-loading,.overlay-health-error) .overlay-health-modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem}:where(.overlay-health-check,.overlay-health-loading,.overlay-health-error) .overlay-health-modal-cancel-btn,:where(.overlay-health-check,.overlay-health-loading,.overlay-health-error) .overlay-health-modal-confirm-btn{padding:.55rem 1.1rem;font-size:.9rem;border-radius:6px;cursor:pointer;transition:all .2s ease;font-family:inherit}:where(.overlay-health-check,.overlay-health-loading,.overlay-health-error) .overlay-health-modal-cancel-btn{background:transparent;border:1px solid var(--chromatic-purple-border, rgba(var(--vsg-purple-rgb), .3));color:var(--chromatic-text-secondary, rgba(255, 255, 255, .85))}:where(.overlay-health-check,.overlay-health-loading,.overlay-health-error) .overlay-health-modal-cancel-btn:hover:not(:disabled){background:var(--chromatic-purple-tint, rgba(var(--vsg-purple-rgb), .1))}:where(.overlay-health-check,.overlay-health-loading,.overlay-health-error) .overlay-health-modal-confirm-btn{background:var(--chromatic-purple-tint, rgba(var(--vsg-purple-rgb), .2));border:1px solid var(--chromatic-purple, var(--vsg-purple));color:var(--chromatic-text-primary, rgba(255, 255, 255, .95));font-weight:400}:where(.overlay-health-check,.overlay-health-loading,.overlay-health-error) .overlay-health-modal-confirm-btn:hover:not(:disabled){background:var(--chromatic-purple-tint-hover, rgba(var(--vsg-purple-rgb), .3))}.overlay-health-modal-confirm-btn-destructive{background:var(--chromatic-red-tint, rgba(var(--vsg-error-rgb), .2));border-color:var(--chromatic-red, var(--vsg-error));color:var(--chromatic-red, var(--vsg-error))}.overlay-health-modal-confirm-btn-destructive:hover:not(:disabled){background:var(--chromatic-red-tint-hover, rgba(var(--vsg-error-rgb), .3))}:where(.overlay-health-check,.overlay-health-loading,.overlay-health-error) .overlay-health-modal-cancel-btn:disabled,:where(.overlay-health-check,.overlay-health-loading,.overlay-health-error) .overlay-health-modal-confirm-btn:disabled{opacity:.4;cursor:not-allowed}.primary-badge{display:inline-flex;align-items:center;justify-content:center;color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.15);border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:4px;font-family:var(--font-primary);font-weight:400;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;-webkit-user-select:none;user-select:none}.primary-badge-small{font-size:10px;padding:2px 6px;line-height:14px}.primary-badge-medium{font-size:11px;padding:3px 8px;line-height:16px}.customize-sheets-panel{display:flex;flex-direction:column;gap:1rem}.customize-sheets-panel-loading,.customize-sheets-panel-error,.customize-sheets-panel-empty{padding:1.25rem;text-align:center;color:var(--chromatic-text-secondary, rgba(255, 255, 255, .7));font-style:normal}.customize-sheets-panel-error{color:var(--chromatic-red, var(--vsg-error));background:var(--chromatic-red-tint, rgba(var(--vsg-error-rgb), .08));border:1px solid var(--chromatic-red-border, rgba(var(--vsg-error-rgb), .3));border-radius:4px}.customize-sheets-panel-explainer{margin:0;padding:.6rem .8rem;background:var(--chromatic-purple-tint, rgba(var(--vsg-purple-rgb), .05));border:1px solid var(--chromatic-purple-border-faint, rgba(var(--vsg-purple-rgb), .15));border-radius:4px;font-size:.85rem;color:var(--chromatic-text-secondary, rgba(255, 255, 255, .8));line-height:1.4}.customize-sheets-panel-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.customize-sheets-panel-row{display:flex;align-items:center;gap:.75rem;padding:.6rem .8rem;background:var(--chromatic-bg-elevated, rgba(var(--vsg-surface-rgb), .5));border:1px solid var(--chromatic-purple-border-faint, rgba(var(--vsg-purple-rgb), .15));border-radius:4px;transition:border-color .15s ease}.customize-sheets-panel-row:hover{border-color:var(--chromatic-purple-border, rgba(var(--vsg-purple-rgb), .3))}.customize-sheets-panel-row-info{flex:1;display:flex;align-items:center;gap:.6rem;min-width:0}.customize-sheets-panel-sheet-name{font-weight:400;color:var(--chromatic-text-primary, rgba(255, 255, 255, .95));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.customize-sheets-panel-overlay-badge{display:inline-flex;align-items:center;padding:.15rem .55rem;background:var(--chromatic-amber-tint, rgba(var(--vsg-gold-rgb), .12));border:1px solid var(--chromatic-amber-border, rgba(var(--vsg-gold-rgb), .3));border-radius:999px;font-size:.75rem;color:var(--chromatic-amber, var(--vsg-gold))}.customize-sheets-panel-no-overlay{font-size:.75rem;color:var(--chromatic-text-secondary, rgba(255, 255, 255, .5));font-style:normal}.customize-sheets-panel-row-actions{display:flex;gap:.4rem;align-items:center}.customize-sheets-panel-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;height:32px;box-sizing:border-box;line-height:1;padding:0 .75rem;background:#000000e6;border:1px solid var(--chromatic-purple-border, rgba(var(--vsg-purple-rgb), .3));border-radius:4px;cursor:pointer;color:var(--chromatic-purple, var(--vsg-purple));font-family:inherit;font-size:.85rem;transition:all .15s ease}.customize-sheets-panel-action-btn:hover:not(:disabled){border-color:var(--chromatic-purple, var(--vsg-purple));background:#000000f2}.customize-sheets-panel-action-btn:disabled{opacity:.4;cursor:not-allowed}.customize-sheets-panel-action-btn-destructive{border-color:var(--chromatic-red-border, rgba(var(--vsg-error-rgb), .3));color:var(--chromatic-red, var(--vsg-error));padding:0 .55rem}.customize-sheets-panel-action-btn-destructive:hover:not(:disabled){border-color:var(--chromatic-red, var(--vsg-error));background:#000000f2}.customize-sheets-panel-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.customize-sheets-panel-modal-content{position:relative;background:var(--chromatic-bg-elevated, rgba(var(--vsg-surface-rgb), .95));border:1px solid var(--chromatic-purple-border, rgba(var(--vsg-purple-rgb), .3));border-radius:8px;padding:2rem 1.5rem 1.5rem;max-width:720px;width:100%;max-height:calc(80 * var(--vh-fit));overflow-y:auto;box-shadow:0 0 24px var(--chromatic-purple-glow, rgba(var(--vsg-purple-rgb), .15));display:flex;flex-direction:column;gap:.8rem}.customize-sheets-panel-modal-narrow{max-width:480px}.customize-sheets-panel-modal-title{margin:0 0 .25rem;font-size:1.15rem;color:var(--chromatic-text-primary, rgba(255, 255, 255, .95));font-weight:300}.customize-sheets-panel-modal-body{margin:0;color:var(--chromatic-text-secondary, rgba(255, 255, 255, .75));font-size:.9rem;line-height:1.5}.customize-sheets-panel-modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem}.customize-sheets-panel-modal-cancel-btn,.customize-sheets-panel-modal-confirm-btn{padding:.55rem 1.1rem;font-size:.9rem;border-radius:6px;cursor:pointer;transition:all .15s ease;font-family:inherit}.customize-sheets-panel-modal-cancel-btn{background:transparent;border:1px solid var(--chromatic-purple-border, rgba(var(--vsg-purple-rgb), .3));color:var(--chromatic-text-secondary, rgba(255, 255, 255, .85))}.customize-sheets-panel-modal-cancel-btn:hover:not(:disabled){background:var(--chromatic-purple-tint, rgba(var(--vsg-purple-rgb), .1))}.customize-sheets-panel-modal-confirm-btn{background:var(--chromatic-purple-tint, rgba(var(--vsg-purple-rgb), .2));border:1px solid var(--chromatic-purple, var(--vsg-purple));color:var(--chromatic-text-primary, rgba(255, 255, 255, .95));font-weight:400}.customize-sheets-panel-modal-confirm-btn-destructive{background:var(--chromatic-red-tint, rgba(var(--vsg-error-rgb), .2));border-color:var(--chromatic-red, var(--vsg-error));color:var(--chromatic-red, var(--vsg-error))}.customize-sheets-panel-modal-confirm-btn-destructive:hover:not(:disabled){background:var(--chromatic-red-tint-hover, rgba(var(--vsg-error-rgb), .3))}.customize-sheets-panel-modal-cancel-btn:disabled,.customize-sheets-panel-modal-confirm-btn:disabled{opacity:.4;cursor:not-allowed}.account-requirements-banner{display:flex;flex-direction:row;align-items:center;background:rgba(var(--vsg-gold-rgb),.15);border:1px solid rgba(var(--vsg-gold-rgb),.3);border-radius:8px;padding:12px 16px;margin:8px 0}.account-requirements-banner-content{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;flex:1}.account-requirements-banner-message{font-family:var(--font-primary);font-size:14px;color:#fffffff2;flex:1}.account-requirements-banner-actions{display:flex;flex-direction:row;gap:8px}.dispute-banner{display:flex;flex-direction:row;align-items:center;background:rgba(var(--vsg-magenta-rgb),.15);border:1px solid rgba(var(--vsg-magenta-rgb),.3);border-radius:8px;padding:12px 16px;margin:8px 0}.dispute-banner-content{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;flex:1}.dispute-banner-message{font-family:var(--font-primary);font-size:14px;color:#fffffff2;flex:1}.dispute-banner-actions{display:flex;flex-direction:row;gap:8px}.earnings-summary-panel{display:flex;flex-direction:column;gap:16px;margin-top:24px;padding-top:24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.15)}.earnings-summary-loading{align-items:center;justify-content:center;min-height:200px}.earnings-summary-divider{font-family:var(--font-primary);font-size:18px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.9);margin:0 0 8px;letter-spacing:1px;text-transform:uppercase}:where(.earnings-summary-panel) .earnings-numeric{font-family:var(--font-primary);font-variant-numeric:tabular-nums}.earnings-period-card,.earnings-activity-card,.earnings-lifetime-card{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:8px;border:1px solid rgba(var(--vsg-purple-rgb),.2)}.earnings-period-title,.earnings-activity-title,.earnings-lifetime-title{font-family:var(--font-primary);font-size:12px;font-weight:300;color:rgba(var(--vsg-purple-rgb),.7);margin:0 0 4px;letter-spacing:1px;text-transform:uppercase}.earnings-period-stats{display:flex;flex-direction:column;gap:8px}.earnings-period-row,.earnings-lifetime-row{display:flex;flex-direction:row;align-items:baseline;gap:12px}.earnings-period-label,.earnings-lifetime-label{font-family:var(--font-primary);font-size:13px;color:rgba(var(--vsg-purple-rgb),.7);flex:0 0 180px}.earnings-period-value,.earnings-lifetime-value{display:inline-flex;flex-direction:column;font-size:16px;color:#fffffff2}.earnings-period-caption{font-size:11px;color:#ffffff80;margin-top:2px}.earnings-period-refund{color:rgba(var(--vsg-magenta-rgb),.85)}.earnings-activity-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.earnings-activity-entry{display:grid;grid-template-columns:100px 1fr auto;align-items:center;gap:12px;padding:4px 0;font-size:13px}.earnings-activity-time{font-family:var(--font-primary);font-size:11px;color:rgba(var(--vsg-purple-rgb),.6)}.earnings-activity-desc{font-family:var(--font-primary);color:#ffffffd9}.earnings-activity-delta{font-size:14px;color:rgba(var(--vsg-success-rgb),.9)}.earnings-activity-refunded .earnings-activity-delta,.earnings-activity-canceled .earnings-activity-delta{color:rgba(var(--vsg-magenta-rgb),.85)}.earnings-summary-ctas{display:flex;flex-direction:row;gap:12px;flex-wrap:wrap;margin-top:8px}.game-settings-page{min-height:calc(100 * var(--vh-fit));width:100%;padding:2rem;background:var(--vsg-surface);position:relative;animation:fadeIn .3s ease}.game-settings-container{width:100%;margin:0;padding:0 2rem}.game-settings-container>*{max-width:100%;background:#000c;border:.25px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1.5rem 2rem}.settings-header{position:relative;display:flex;justify-content:center;align-items:center;margin-bottom:1rem}.settings-header .global-app-controls{position:absolute;right:0;top:50%;transform:translateY(-50%)}.settings-title{font-family:var(--font-primary);font-size:2rem;font-weight:400;color:var(--vsg-purple);margin:0;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5);text-transform:uppercase;letter-spacing:2px;text-align:center}.settings-tab-toggler{display:flex;justify-content:center;margin-bottom:1.5rem}.settings-form{display:flex;flex-direction:column;gap:1rem}:where(.game-settings-page) .form-group{display:flex;flex-direction:column;gap:.5rem}.game-settings-page .settings-toggles-section{display:flex;flex-direction:column;gap:20px;padding-top:8px;border-top:1px solid rgba(var(--vsg-purple-rgb),.1)}.game-settings-page .settings-toggle-row{display:grid;grid-template-columns:300px 1fr;align-items:center;gap:0 1rem}.game-settings-page .settings-toggle-row>label{font-family:var(--font-primary);color:rgba(var(--vsg-purple-rgb),.8);font-size:14px;letter-spacing:.5px;font-weight:400}.game-settings-page .settings-toggle-control{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.game-settings-page .settings-toggle-row.young-adult-setting label .young-adult-warning{display:block;margin-top:2px}:where(.game-settings-page) .form-group label{font-family:var(--font-primary);font-weight:400;text-transform:uppercase}.field-help{margin-left:8px;font-size:.75rem;color:var(--vsg-purple);font-weight:400;text-transform:none;letter-spacing:normal;cursor:help;font-style:normal}.form-help{display:block;margin-top:4px;font-size:.75rem;color:var(--vsg-purple);font-style:normal;font-weight:400}.young-adult-setting label{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.young-adult-setting label .young-adult-warning{width:100%}.young-adult-setting label .young-adult-badge{margin-left:4px;flex-shrink:0}.young-adult-warning{display:block;margin-bottom:8px;font-size:.8rem;color:var(--vsg-magenta);font-weight:400;text-shadow:0 0 10px rgba(var(--vsg-magenta-rgb),.4)}:where(.game-settings-page) .form-input,:where(.game-settings-page) .form-textarea{width:100%;border-radius:8px;color:#ffffffe6;outline:none}:where(.game-settings-page) .form-select{width:100%;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;color:#ffffffe6;font-family:var(--font-primary);transition:all .3s ease;outline:none}:where(.game-settings-page) .form-select:focus{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.5)}:where(.game-settings-page) .form-input::placeholder,:where(.game-settings-page) .form-textarea::placeholder{color:#fff6}.banner-upload{display:flex;justify-content:center;padding:1rem}.upload-banner-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;width:100%;max-width:400px;height:200px;background:rgba(var(--vsg-purple-rgb),.05);border:2px dashed rgba(var(--vsg-purple-rgb),.3);border-radius:12px;color:rgba(var(--vsg-purple-rgb),.7);cursor:pointer;transition:all .3s ease;font-family:var(--font-primary);font-size:1rem;letter-spacing:.5px}.upload-banner-btn:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.5);color:var(--vsg-purple);transform:translateY(-2px)}.upload-banner-btn svg{opacity:.7}.banner-preview{position:relative;width:100%;max-width:300px;aspect-ratio:3 / 4;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #00000080}.banner-preview img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}.change-banner-btn{position:absolute;bottom:1rem;right:1rem;padding:10px 20px;background:#000c;border:1px solid rgba(var(--vsg-purple-rgb),.5);border-radius:8px;color:var(--vsg-purple);font-family:var(--font-primary);font-size:.9rem;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.change-banner-btn:hover{background:rgba(var(--vsg-purple-rgb),.2);transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--vsg-purple-rgb),.3)}.banner-actions{position:absolute;bottom:10px;right:10px;display:flex;gap:6px;align-items:center}.claude-select{font-weight:400;transition:all .3s ease}.claude-select option{background:#000000f2;color:#ffffffe6}.claude-tier-none{color:rgba(var(--vsg-purple-rgb),.6)}.claude-tier-pro{color:rgba(var(--vsg-purple-rgb),.8)}.claude-tier-max5x{color:rgba(var(--vsg-purple-rgb),.95)}.claude-tier-max20x{color:var(--vsg-purple);text-shadow:0 0 8px rgba(var(--vsg-purple-rgb),.3)}.game-settings-page .form-actions{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;gap:1rem!important;position:fixed!important;bottom:0!important;left:0!important;right:0!important;padding:1rem 2rem!important;background:rgba(var(--vsg-purple-rgb),.05)!important;border-top:1px solid rgba(var(--vsg-purple-rgb),.3)!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;z-index:100!important}.game-settings-page .form-actions .fantamaster-button{flex-shrink:0}.game-settings-page .form-actions .form-actions-spacer{flex:1}.settings-form{padding-bottom:60px}@media (max-width: 600px){.game-settings-container{padding:2rem 1.5rem}.settings-header{flex-direction:column;align-items:stretch;gap:1rem}.settings-title{font-size:1.5rem;text-align:center}.game-settings-page .form-actions{padding:.75rem 1rem}}.subscriptions-currency-row{display:flex;align-items:center;gap:8px}.subscriptions-currency-prefix{display:inline-flex;align-items:center;justify-content:center;min-width:32px;padding:0 8px;font-size:16px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.9)}.content-page-layout{min-height:calc(100 * var(--vh-fit));width:100%;padding:0 2rem 2rem;background:var(--vsg-surface);position:relative;background-size:cover;background-position:top center;background-repeat:no-repeat;background-attachment:fixed}.content-page-layout.has-banner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(var(--vsg-surface-rgb),.5);pointer-events:none;z-index:0}.content-page-layout.has-banner>*{position:relative;z-index:1}.content-page-container{position:relative;max-width:1400px;margin:0 auto}.content-page-layout .sticky-nav-wrapper{position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-left:-2rem;margin-right:-2rem;padding-left:2rem;padding-right:2rem;padding-bottom:0}.content-page-header{margin-left:-2rem;margin-right:-2rem;margin-bottom:24px;padding:var(--page-header-pad-y) var(--page-header-pad-x);border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);position:relative;background:var(--vsg-surface)}.content-page-header .back-button{justify-self:start}.content-page-title-container{display:flex;align-items:center;justify-content:center;gap:var(--page-header-gap)}.content-page-title{font-family:var(--font-primary);font-size:var(--page-title-size);font-weight:300;color:var(--vsg-purple);margin:0;text-align:center;letter-spacing:var(--page-title-tracking);text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5)}.content-page-title-link:hover{text-shadow:0 0 30px rgba(var(--vsg-purple-rgb),.8)}.content-page-header-right{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--chrome-gap-sm)}.content-page-tab-content{min-height:500px}.content-page-layout .loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.content-page-layout .saving-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.content-page-layout .saving-overlay .unified-loading-state{min-height:auto;padding:40px;background:rgba(var(--vsg-surface-rgb),.9);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px}.content-page-layout.viewport-lock{height:calc(100 * var(--vh-fit));max-height:calc(100 * var(--vh-fit));overflow:hidden;padding-bottom:0}.content-page-layout.viewport-lock>.content-page-container{height:100%;display:flex;flex-direction:column}.content-page-layout.viewport-lock .sticky-nav-wrapper{flex-shrink:0}@media (max-width: 600px){.content-page-layout{padding:0 .75rem .75rem}.content-page-layout .sticky-nav-wrapper{margin-left:-.75rem;margin-right:-.75rem;padding-left:.75rem;padding-right:.75rem}.content-page-header{margin-left:-.75rem;margin-right:-.75rem;padding-left:1rem;padding-right:1rem}.content-page-layout.viewport-lock{padding-bottom:0}}.translation-overlay{position:fixed;bottom:24px;right:24px;z-index:9000;display:flex;flex-direction:column;align-items:center;gap:6px}.translation-overlay__flag-widget{display:flex;align-items:center;gap:4px;padding:8px 12px;background:#000000d9;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:10px;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.translation-overlay__flag-widget:hover{background:#000000f2;border-color:rgba(var(--vsg-purple-rgb),.6);box-shadow:0 0 12px rgba(var(--vsg-purple-rgb),.3);transform:scale(1.05)}.translation-overlay__flag-widget:active{transform:scale(.96)}.translation-overlay__flag-widget:disabled{cursor:default;transform:none}.translation-overlay__flag-widget--active{border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 0 4px rgba(var(--vsg-purple-rgb),.2);--glow-peak: 0 0 16px rgba(var(--vsg-purple-rgb), .5);--glow-period: 1.5s}.translation-overlay__flag-widget--translated{border-color:rgba(var(--vsg-magenta-rgb),.4);box-shadow:0 0 8px rgba(var(--vsg-magenta-rgb),.15)}.translation-overlay__flag-widget--translated:hover{border-color:rgba(var(--vsg-magenta-rgb),.6);box-shadow:0 0 12px rgba(var(--vsg-magenta-rgb),.25)}.translation-overlay__flag{font-size:20px;line-height:1}.translation-overlay__arrow{font-size:14px;color:rgba(var(--vsg-purple-rgb),.7);line-height:1;font-weight:400}.translation-overlay__lens-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:#000000d9;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:50%;color:rgba(var(--vsg-purple-rgb),.6);cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.translation-overlay__lens-toggle:hover{background:#000000f2;border-color:rgba(var(--vsg-purple-rgb),.5);color:rgba(var(--vsg-purple-rgb),.9);box-shadow:0 0 8px rgba(var(--vsg-purple-rgb),.2)}.translation-overlay__lens-toggle--active{background:rgba(var(--vsg-purple-rgb),.15);border-color:rgba(var(--vsg-purple-rgb),.6);color:var(--vsg-purple);box-shadow:0 0 12px rgba(var(--vsg-purple-rgb),.3)}.translation-lens-active,.translation-lens-active *{cursor:crosshair!important}.translation-word-highlight{background:rgba(var(--vsg-purple-rgb),.2);border-radius:2px;padding:0 1px;transition:background .1s ease}.translation-lens-tooltip{position:fixed;z-index:9500;pointer-events:none;background:#000000f2;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;padding:6px 10px;color:var(--vsg-purple);font-size:14px;font-family:var(--font-primary);max-width:300px;box-shadow:0 4px 12px #00000080,0 0 8px rgba(var(--vsg-purple-rgb),.15)}.translation-lens-tooltip__original{font-size:11px;color:#ffffff80;margin-bottom:2px}.translation-lens-tooltip__result{color:var(--vsg-purple);font-weight:400}.translation-lens-tooltip__loading{color:rgba(var(--vsg-purple-rgb),.5);font-style:normal;font-size:12px}@media (max-width: 600px){.translation-overlay{bottom:16px;right:16px}.translation-overlay__flag-widget{padding:6px 10px}.translation-overlay__flag{font-size:18px}.translation-overlay__lens-toggle{width:32px;height:32px}}.deduplicate-broom-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:4px;border:none;border-radius:6px;background:transparent;color:var(--vsg-purple);cursor:default;transition:all .2s ease}.deduplicate-broom-icon.clickable{cursor:pointer}.deduplicate-broom-icon.clickable:hover{background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple);transform:scale(1.1)}.deduplicate-broom-icon.clickable:active{transform:scale(.95)}.deduplicate-broom-icon.readonly{opacity:.4;cursor:not-allowed}.deduplicate-broom-icon:disabled{opacity:.4;cursor:not-allowed}.deduplicate-broom-icon.loading .broom-svg{animation:broom-sweep .6s ease-in-out infinite}@keyframes broom-sweep{0%{transform:rotate(0)}25%{transform:rotate(-15deg)}75%{transform:rotate(15deg)}to{transform:rotate(0)}}.deduplicate-broom-icon .broom-svg{width:20px;height:20px}.snapshot-modal{position:relative;background:transparent;border-radius:12px;width:90%;max-width:450px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3);border:1px solid rgba(var(--vsg-purple-rgb),.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.snapshot-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05)}.snapshot-modal .modal-title{font-family:var(--font-primary);font-size:1.25rem;font-weight:400;color:var(--vsg-purple);margin:0;display:flex;align-items:center;gap:10px;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5)}.snapshot-header-icon{width:22px;height:22px}.snapshot-modal-content{padding:24px;display:flex;flex-direction:column;align-items:center;gap:16px}.snapshot-modal .description-text{font-family:var(--font-primary);font-size:14px;color:#ffffffd9;line-height:1.6;text-align:center;margin:0}.epic-badge{display:flex;align-items:center;gap:8px;font-family:var(--font-primary);font-size:12px;font-weight:400;color:var(--vsg-gold);text-transform:uppercase;letter-spacing:1px}.epic-star-icon{width:16px;height:16px}.upgrade-prompt{font-family:var(--font-primary);font-size:13px;color:rgba(var(--vsg-purple-rgb),.7);text-align:center;margin:0}.snapshot-info-box{width:100%;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;padding:16px}.snapshot-info-box.empty{display:flex;align-items:center;justify-content:center;padding:20px}.no-snapshot-text{font-family:var(--font-primary);font-size:13px;color:rgba(var(--vsg-purple-rgb),.5);font-style:normal}.snapshot-info-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.snapshot-info-row:first-child{padding-top:0}.snapshot-info-row:last-child{padding-bottom:0}.snapshot-info-row:not(:last-child){border-bottom:1px solid rgba(var(--vsg-purple-rgb),.1)}.snapshot-info-label{font-family:var(--font-primary);font-size:12px;color:rgba(var(--vsg-purple-rgb),.7);text-transform:uppercase;letter-spacing:.5px}.snapshot-info-value{font-family:var(--font-primary);font-size:14px;color:var(--vsg-purple)}.snapshot-modal .modal-footer{display:flex;justify-content:center;gap:12px;padding:0;margin-top:8px}.snapshot-modal .modal-footer.centered{justify-content:center}.snapshot-modal-advisory{margin:0 0 12px;padding:10px 12px;border:1px solid rgba(var(--vsg-caution-rgb),.45);border-radius:6px;background:rgba(var(--vsg-caution-rgb),.08);color:#ffffffd9;font-size:13px;font-weight:400;line-height:1.45}.snapshot-button{display:inline-flex;align-items:center;justify-content:center;padding:4px;border:none;border-radius:6px;background:transparent;color:var(--vsg-purple);cursor:pointer;transition:all .2s ease}.snapshot-button-medium{width:32px;height:32px}.snapshot-button-small{width:24px;height:24px}.snapshot-button:hover{background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple);transform:scale(1.1)}.snapshot-button:active{transform:scale(.95)}.snapshot-button-medium svg{width:20px;height:20px}.snapshot-button-small svg{width:16px;height:16px}.sanctum-level-card{background:#0009;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;padding:.75rem 1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;cursor:pointer;width:100%}.sanctum-level-card:hover{background:rgba(var(--vsg-purple-rgb),.05);border-color:rgba(var(--vsg-purple-rgb),.4);transform:translateY(-2px);box-shadow:0 4px 20px rgba(var(--vsg-purple-rgb),.2)}.sanctum-level-card.selected{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.6);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.25)}.sanctum-level-card.type-top{border-left:4px solid var(--vsg-purple-brightest)}.sanctum-level-card.type-medium{border-left:4px solid var(--vsg-purple-bright)}.sanctum-level-card.type-channel{border-left:4px solid var(--vsg-purple)}.sanctum-level-card.type-channel:hover{background:rgba(var(--vsg-purple-rgb),.1);transform:translateY(-3px);box-shadow:0 6px 24px rgba(var(--vsg-purple-rgb),.3)}.sanctum-level-card.type-channel:active{transform:translateY(-1px)}.sanctum-level-depth-0{margin-left:0}.sanctum-level-depth-1{margin-left:32px}.sanctum-level-depth-2{margin-left:64px}.sanctum-level-top-row{display:flex;align-items:center;gap:1rem}.sanctum-level-name{color:var(--vsg-purple);font-family:var(--font-primary);font-size:1.1rem;font-weight:400;margin:0;display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.sanctum-level-name span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sanctum-collapse-btn{background:none;border:none;color:rgba(var(--vsg-purple-rgb),.7);font-size:.8rem;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.sanctum-collapse-btn:hover{color:var(--vsg-purple);transform:scale(1.2)}.sanctum-collapse-chevron{transition:transform .2s ease;transform:rotate(0)}.sanctum-collapse-chevron.expanded{transform:rotate(90deg)}.sanctum-level-bottom-row{display:flex;align-items:center;justify-content:space-between;margin-top:.5rem}.sanctum-level-description{color:#ffffffb3;font-size:.9rem;margin:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sanctum-level-badges{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.sanctum-level-count{font-size:11px;color:rgba(var(--vsg-purple-rgb),.6);padding:2px 8px;background:rgba(var(--vsg-purple-rgb),.08);border-radius:10px;flex-shrink:0}.sanctum-level-shared-badge{font-size:10px;padding:2px 8px;border-radius:10px;background:rgba(var(--vsg-purple-rgb),.08);color:rgba(var(--vsg-purple-rgb),.7);border:.5px solid rgba(var(--vsg-purple-rgb),.2);flex-shrink:0;text-transform:uppercase;letter-spacing:.3px;font-weight:400}.sanctum-level-controls{display:flex;gap:.5rem;align-items:center;opacity:0;transition:opacity .2s ease;flex-shrink:0}.sanctum-level-card:hover .sanctum-level-controls{opacity:1}.sanctum-level-btn{width:32px;height:32px;min-width:32px;min-height:32px;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:var(--vsg-purple);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:14px;padding:0;flex-shrink:0}.sanctum-level-btn:hover{background:rgba(var(--vsg-purple-rgb),.2);transform:scale(1.1)}.sanctum-level-btn.delete:hover{border-color:rgba(var(--vsg-magenta-rgb),.7);background:rgba(var(--vsg-magenta-rgb),.1);color:var(--vsg-magenta)}.sanctum-notes-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:0;padding:0 4px}.sanctum-note-card{position:relative;display:flex;gap:16px;padding:16px;background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;transition:all .2s ease;margin-bottom:12px}.sanctum-note-card:hover{background:#00000080;border-color:rgba(var(--vsg-purple-rgb),.3)}.sanctum-note-actions{position:absolute;top:12px;right:12px;display:flex;gap:6px;z-index:1;opacity:0;transition:opacity .2s ease}.sanctum-note-card:hover .sanctum-note-actions{opacity:1}.sanctum-load-more{text-align:center;padding:8px}.sanctum-load-more-btn{background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:rgba(var(--vsg-purple-rgb),.7);cursor:pointer;padding:6px 20px;font-size:12px;transition:all .2s ease}.sanctum-load-more-btn:hover{border-color:var(--vsg-purple);color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.08)}.sanctum-notes-empty{text-align:center;padding:3rem 1rem;color:#fff6;font-size:14px}.sanctum-notes-empty-icon{font-size:36px;margin-bottom:12px}@media (max-width: 600px){.sanctum-note-card{flex-direction:column;gap:12px;padding-top:48px}.sanctum-note-actions{top:8px;right:8px}}.sanctum-invited-container{display:flex;flex-direction:column;gap:8px;padding:12px 0}.sanctum-invited-group{background:#0006;border:.25px solid rgba(var(--vsg-purple-rgb),.15);border-radius:12px;overflow:hidden}.sanctum-invited-owner-header{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;transition:background .2s ease}.sanctum-invited-owner-header:hover{background:rgba(var(--vsg-purple-rgb),.05)}.sanctum-invited-owner-avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;flex-shrink:0;background:rgba(var(--vsg-purple-rgb),.15);display:flex;align-items:center;justify-content:center}.sanctum-invited-owner-avatar img{width:100%;height:100%;object-fit:cover}.sanctum-invited-avatar-placeholder{color:var(--vsg-purple);font-size:14px;font-weight:400;font-family:var(--font-primary)}.sanctum-invited-owner-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.sanctum-invited-owner-name{font-size:14px;font-weight:400;color:#fffffff2;font-family:var(--font-primary);letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sanctum-invited-level-count{font-size:11px;color:rgba(var(--vsg-purple-rgb),.5)}.sanctum-invited-chevron{color:rgba(var(--vsg-purple-rgb),.5);transition:transform .2s ease;flex-shrink:0;display:flex;align-items:center;justify-content:center}.sanctum-invited-chevron.expanded{transform:rotate(90deg)}.sanctum-invited-chevron:not(.expanded){transform:rotate(0)}.sanctum-invited-levels{border-top:1px solid rgba(var(--vsg-purple-rgb),.08);padding:4px 0}.sanctum-invited-level-row{display:flex;align-items:center;gap:10px;padding:10px 16px 10px 56px;transition:background .2s ease}.sanctum-invited-level-row[role=button]{cursor:pointer}.sanctum-invited-level-row[role=button]:hover{background:rgba(var(--vsg-purple-rgb),.05)}.sanctum-invited-level-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:14px;height:14px}.sanctum-invited-level-name{flex:1;font-size:13px;color:#ffffffd9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sanctum-invited-access-badge{font-size:10px;padding:2px 8px;border-radius:10px;flex-shrink:0;text-transform:uppercase;letter-spacing:.3px;font-weight:400}.sanctum-invited-access-badge.view-only{background:rgba(var(--vsg-purple-rgb),.08);color:rgba(var(--vsg-purple-rgb),.6);border:.5px solid rgba(var(--vsg-purple-rgb),.15)}.sanctum-invited-access-badge.can-post{background:rgba(var(--vsg-success-rgb),.08);color:rgba(var(--vsg-success-rgb),.7);border:.5px solid rgba(var(--vsg-success-rgb),.2)}.sanctum-invited-empty{text-align:center;padding:3rem 1rem;color:#fff6;font-size:14px}.sanctum-invited-empty-icon{font-size:36px;margin-bottom:12px}.permission-selector-modal{position:relative;background:transparent;border-radius:12px;width:90%;max-width:480px;max-height:calc(85 * var(--vh-fit));overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3);border:1px solid rgba(var(--vsg-purple-rgb),.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.permission-selector-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05)}.permission-selector-modal .modal-title{font-family:var(--font-primary);font-size:1.15rem;font-weight:400;color:var(--vsg-purple);margin:0;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5)}.permission-selector-modal .search-container{padding:16px 24px 12px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.1)}.permission-selector-modal .search-input{width:100%;padding:10px 16px;font-size:.95rem;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;color:#ffffffe6;transition:all .3s ease;outline:none}.permission-selector-modal .search-input::placeholder{color:#fff6}.permission-selector-modal .search-input:focus{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.2)}.permission-selector-modal .quick-actions{display:flex;justify-content:center;gap:8px;padding:12px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.1);flex-wrap:wrap}.permission-selector-modal .quick-action-btn{padding:6px 12px;font-size:.8rem;font-weight:400;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.25);border-radius:6px;color:rgba(var(--vsg-purple-rgb),.9);cursor:pointer;transition:all .2s ease}.permission-selector-modal .quick-action-btn:hover{background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.4)}.permission-selector-modal .item-list{flex:1;overflow-y:auto;padding:8px 0;min-height:200px;max-height:400px}.permission-selector-modal .item-row{display:flex;align-items:center;gap:12px;padding:12px 24px;cursor:pointer;transition:background .2s ease}.permission-selector-modal .item-row:hover{background:rgba(var(--vsg-purple-rgb),.08)}.permission-selector-modal .item-row.selected{background:rgba(var(--vsg-purple-rgb),.15)}.permission-selector-modal .item-checkbox{width:20px;height:20px;border:2px solid rgba(var(--vsg-purple-rgb),.4);border-radius:4px;background:transparent;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.permission-selector-modal .item-row.selected .item-checkbox{background:var(--vsg-purple);border-color:var(--vsg-purple)}.permission-selector-modal .item-checkbox .check-icon{color:#fff;font-size:14px;display:none}.permission-selector-modal .item-row.selected .item-checkbox .check-icon{display:block}.permission-selector-modal .item-avatar{width:40px;height:40px;border-radius:50%;background:rgba(var(--vsg-purple-rgb),.2);border:2px solid rgba(var(--vsg-purple-rgb),.3);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.permission-selector-modal .item-avatar img{width:100%;height:100%;object-fit:cover}.permission-selector-modal .item-avatar .avatar-placeholder{font-size:1.1rem;color:rgba(var(--vsg-purple-rgb),.7)}.permission-selector-modal .item-info{flex:1;min-width:0}.permission-selector-modal .item-name{font-size:.95rem;font-weight:400;color:#fffffff2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.permission-selector-modal .item-subtitle{font-size:.8rem;color:rgba(var(--vsg-purple-rgb),.6);margin-top:2px}.permission-selector-modal .role-badge{font-size:.7rem;font-weight:400;padding:3px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.permission-selector-modal .role-badge.player{background:rgba(var(--vsg-success-rgb),.15);color:var(--vsg-success);border:1px solid rgba(var(--vsg-success-rgb),.3)}.permission-selector-modal .role-badge.spectator{background:rgba(var(--vsg-purple-rgb),.1);color:rgba(var(--vsg-purple-rgb),.8);border:1px solid rgba(var(--vsg-purple-rgb),.25)}.permission-selector-modal .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;text-align:center;min-height:200px;height:100%;width:100%}.permission-selector-modal .empty-state-icon{font-size:2.5rem;color:rgba(var(--vsg-purple-rgb),.3);margin-bottom:16px}.permission-selector-modal .empty-state-text{font-size:.95rem;color:#ffffff80}.permission-selector-modal .loading-state{display:flex;align-items:center;justify-content:center;padding:60px 24px}.permission-selector-modal .selected-count{padding:8px 24px;font-size:.85rem;color:rgba(var(--vsg-purple-rgb),.8);border-top:1px solid rgba(var(--vsg-purple-rgb),.1);background:rgba(var(--vsg-purple-rgb),.03)}.permission-selector-modal .modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05)}@media (max-width: 600px){.permission-selector-modal{width:95%;max-height:calc(90 * var(--vh-fit))}.permission-selector-modal .modal-header,.permission-selector-modal .modal-footer{padding:16px}.permission-selector-modal .search-container,.permission-selector-modal .quick-actions,.permission-selector-modal .item-row{padding-left:16px;padding-right:16px}}.level-settings-modal{position:relative;background:transparent;border-radius:12px;width:90%;max-width:500px;max-height:calc(90 * var(--vh-fit));overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3);border:1px solid rgba(var(--vsg-purple-rgb),.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.level-settings-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05)}.level-settings-modal .modal-title{font-family:var(--font-primary);font-size:1.25rem;font-weight:400;color:var(--vsg-purple);margin:0;display:flex;align-items:center;gap:12px;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5)}.level-settings-modal .level-type-badge{font-size:.65rem;font-weight:400;padding:4px 10px;border-radius:12px;background:linear-gradient(135deg,var(--vsg-purple),rgba(var(--vsg-purple-rgb),.83));color:#fff;text-transform:uppercase;letter-spacing:.5px}.level-settings-modal-content{padding:24px;overflow-y:auto;flex:1}.level-settings-modal .settings-tab-toggle{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15)}.level-settings-modal .form-group{margin-bottom:20px}.level-settings-modal .form-group-checkbox{display:flex;flex-direction:column;gap:6px}.level-settings-modal .form-label{display:block;font-family:var(--font-primary);font-size:.9rem;font-weight:400;color:rgba(var(--vsg-purple-rgb),.9);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.level-settings-modal .required-asterisk{color:var(--vsg-magenta);font-weight:400}.level-settings-modal .form-input,.level-settings-modal .form-textarea{width:100%;padding:12px 16px;font-size:1rem;font-weight:400;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;color:#ffffffe6;transition:all .3s ease;font-family:var(--font-primary);outline:none}.level-settings-modal .form-input::placeholder,.level-settings-modal .form-textarea::placeholder{color:#fff6}.level-settings-modal .form-input:focus,.level-settings-modal .form-textarea:focus{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.2)}.level-settings-modal .form-input:disabled,.level-settings-modal .form-textarea:disabled{opacity:.5;cursor:not-allowed}.level-settings-modal .form-textarea{resize:vertical;min-height:80px;line-height:1.5}.level-settings-modal .dropdown{width:100%}.level-settings-modal .form-hint{display:block;font-size:.85rem;color:rgba(var(--vsg-purple-rgb),.6);margin-top:6px;font-style:normal;font-family:var(--font-primary)}.level-settings-modal .frequency-row{display:flex;align-items:center;gap:12px}.level-settings-modal .frequency-label{color:#ffffffb3;font-size:.9rem;white-space:nowrap}.level-settings-modal .checkbox-row{display:flex;align-items:center;gap:12px}.level-settings-modal .checkbox-label-text{color:#ffffffe6;font-size:1rem}.level-settings-modal .archive-warning-box{background:rgba(var(--vsg-purple-rgb),.08);border:1px solid rgba(var(--vsg-purple-rgb),.25);border-radius:8px;padding:16px 20px;margin-bottom:24px}.level-settings-modal .archive-warning-box p{color:#ffffffd9;font-size:.9rem;line-height:1.6;margin:0;padding:4px 0;font-family:var(--font-primary)}.level-settings-modal .archive-warning-box p:first-child{color:var(--vsg-purple);font-weight:400}.level-settings-modal .error-message{background:rgba(var(--vsg-error-rgb),.1);border:1px solid rgba(var(--vsg-error-rgb),.3);border-radius:8px;padding:12px 16px;color:var(--vsg-error);font-size:.9rem;margin-bottom:20px;animation:slideDown .3s ease}.level-settings-modal .delete-confirm-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10;border-radius:12px;animation:fadeIn .2s ease}.level-settings-modal .delete-confirm-popup{background:rgba(var(--vsg-surface-rgb),.98);border:1px solid rgba(var(--vsg-magenta-rgb),.5);border-radius:12px;padding:24px;max-width:360px;box-shadow:0 8px 32px rgba(var(--vsg-magenta-rgb),.3);animation:popIn .2s ease}@keyframes popIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.level-settings-modal .delete-confirm-popup p{color:#ffffffe6;font-size:1rem;margin:0 0 20px;line-height:1.5;text-align:center}.level-settings-modal .delete-warning-title{font-family:var(--font-primary);font-size:1.1rem;font-weight:400;color:var(--vsg-magenta);margin:0 0 12px;text-align:center}.level-settings-modal .delete-warning-message{color:#fffc;font-size:.95rem;margin:0 0 20px;line-height:1.5;text-align:center;padding:12px;background:rgba(var(--vsg-magenta-rgb),.1);border:1px solid rgba(var(--vsg-magenta-rgb),.3);border-radius:8px}.level-settings-modal .delete-confirm-actions{display:flex;gap:12px;justify-content:center}.level-settings-modal .story-guidelines-section{margin-top:16px;padding-top:16px;border-top:1px solid rgba(var(--vsg-purple-rgb),.15)}.level-settings-modal .story-guidelines-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px}.level-settings-modal .story-guidelines-summary{font-size:.9rem;color:#ffffffb3;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.level-settings-modal .modal-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05)}.level-settings-modal .modal-footer-right{display:flex;gap:10px}.level-settings-modal .delete-loading-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:8px 0}.level-settings-modal .delete-loading-title{font-family:var(--font-primary);font-size:1rem;font-weight:400;color:var(--vsg-magenta);margin:0 0 8px}.level-settings-modal .delete-loading-hint{font-size:.9rem;color:#fff9;font-style:normal;margin:0 0 20px}.level-settings-modal .participants-section{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15)}.level-settings-modal .participants-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;margin-bottom:10px}.level-settings-modal .participant-chip{display:flex;align-items:center;gap:8px;padding:6px 10px 6px 6px;background:rgba(var(--vsg-purple-rgb),.08);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:20px;transition:all .2s ease}.level-settings-modal .participant-chip:hover{border-color:rgba(var(--vsg-purple-rgb),.5);background:rgba(var(--vsg-purple-rgb),.12)}.level-settings-modal .participant-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover;border:1px solid rgba(var(--vsg-purple-rgb),.3)}.level-settings-modal .participant-name{color:#ffffffe6;font-size:.85rem;white-space:nowrap}.level-settings-modal .participant-remove{background:none;border:none;color:#ffffff80;font-size:1rem;cursor:pointer;padding:0 2px;line-height:1;transition:color .2s ease}.level-settings-modal .participant-remove:hover{color:var(--vsg-magenta)}.level-settings-modal .participants-empty{color:rgba(var(--vsg-purple-rgb),.5);font-size:.85rem;font-style:normal;margin-top:8px}.level-settings-modal .participant-add-row{margin-top:8px}@media (max-width: 600px){.level-settings-modal{width:95%;max-height:calc(95 * var(--vh-fit))}.level-settings-modal .modal-header,.level-settings-modal-content,.level-settings-modal .modal-footer{padding:16px}.level-settings-modal .modal-footer{flex-direction:column;gap:12px}.level-settings-modal .modal-footer-right{width:100%;justify-content:flex-end}}.story-guidelines-modal{position:relative;background:transparent;border-radius:12px;width:90%;max-width:560px;max-height:calc(85 * var(--vh-fit));overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3);border:1px solid rgba(var(--vsg-purple-rgb),.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.story-guidelines-modal .modal-header{display:flex;justify-content:center;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05);position:relative}.story-guidelines-modal .modal-header-center{display:flex;flex-direction:column;align-items:center;text-align:center}.story-guidelines-modal .modal-title{font-family:var(--font-primary);font-size:1.15rem;font-weight:400;color:var(--vsg-purple);margin:0;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5)}.story-guidelines-modal .modal-subtitle{font-size:.8rem;color:#fff6;font-style:normal;margin-top:4px}.story-guidelines-modal .modal-close-btn{position:absolute;right:16px;top:50%;transform:translateY(-50%);padding:4px 8px;font-size:16px;min-height:auto}.story-guidelines-modal .modal-close-btn:hover{transform:translateY(-50%)!important}.story-guidelines-modal-content{flex:1;overflow-y:auto;padding:20px 24px}.story-guidelines-modal .form-group{margin-bottom:20px}.story-guidelines-modal .form-group.indented{margin-left:24px;padding-left:16px;border-left:2px solid rgba(var(--vsg-purple-rgb),.2)}.story-guidelines-modal .form-group.indented-2{margin-left:48px;padding-left:16px;border-left:2px solid rgba(var(--vsg-purple-rgb),.15)}.story-guidelines-modal .form-label{display:block;font-size:.9rem;font-weight:400;color:#ffffffe6;margin-bottom:8px}.story-guidelines-modal .form-label-hint{font-size:.8rem;font-weight:400;color:#fff6;margin-left:8px}.story-guidelines-modal .form-input{width:100%;padding:10px 14px;font-size:.9rem;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;color:#ffffffe6;transition:all .3s ease;outline:none;box-sizing:border-box}.story-guidelines-modal .form-input::placeholder{color:#ffffff59}.story-guidelines-modal .form-input:focus{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.2)}.story-guidelines-modal .form-input:disabled{opacity:.5;cursor:not-allowed}.story-guidelines-modal .form-textarea{width:100%;padding:12px 14px;font-size:.9rem;font-family:inherit;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;color:#ffffffe6;transition:all .3s ease;outline:none;resize:vertical;min-height:80px;box-sizing:border-box}.story-guidelines-modal .form-textarea::placeholder{color:#ffffff59}.story-guidelines-modal .form-textarea:focus{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.2)}.story-guidelines-modal .form-textarea:disabled{opacity:.5;cursor:not-allowed}.story-guidelines-modal .radio-group{display:flex;flex-direction:column;gap:10px}.story-guidelines-modal .radio-option{display:flex;align-items:center;gap:10px;cursor:pointer;padding:8px 12px;border-radius:8px;transition:background .2s ease}.story-guidelines-modal .radio-option:hover{background:rgba(var(--vsg-purple-rgb),.08)}.story-guidelines-modal .radio-option input[type=radio]{width:18px;height:18px;accent-color:var(--vsg-purple);cursor:pointer}.story-guidelines-modal .radio-option span{font-size:.9rem;color:#ffffffd9}.story-guidelines-modal .form-divider{height:1px;background:linear-gradient(to right,transparent,rgba(var(--vsg-purple-rgb),.3),transparent);margin:24px 0}.story-guidelines-modal .error-message{background:rgba(var(--vsg-error-rgb),.15);border:1px solid rgba(var(--vsg-error-rgb),.3);border-radius:8px;padding:12px 16px;margin-bottom:20px;color:var(--vsg-error);font-size:.9rem}.story-guidelines-modal .modal-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05)}.story-guidelines-modal .modal-footer.modal-footer-centered{justify-content:center}.story-guidelines-modal .custom-dropdown{width:100%}@media (max-width: 600px){.story-guidelines-modal{width:95%;max-height:calc(90 * var(--vh-fit))}.story-guidelines-modal .modal-header,.story-guidelines-modal .modal-footer,.story-guidelines-modal-content{padding:16px}.story-guidelines-modal .form-group.indented{margin-left:16px;padding-left:12px}.story-guidelines-modal .form-group.indented-2{margin-left:32px;padding-left:12px}}.story-guidelines-modal .ai-generated-badge{display:inline-block;font-size:.7rem;font-weight:400;color:rgba(var(--vsg-purple-rgb),.8);background:rgba(var(--vsg-purple-rgb),.15);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;padding:2px 6px;margin-left:8px;text-transform:uppercase;letter-spacing:.5px}.story-guidelines-modal .theme-inherit-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}.story-guidelines-modal .theme-inherit-section{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.story-guidelines-modal .checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.9rem;color:#ffffffd9}.story-guidelines-modal .checkbox-label-inline{display:flex;flex-direction:row;align-items:center;gap:8px;cursor:pointer;font-size:.9rem;color:#ffffffd9}.story-guidelines-modal .checkbox-label input[type=checkbox],.story-guidelines-modal .checkbox-label-inline input[type=checkbox]{width:18px;height:18px;accent-color:var(--vsg-purple);cursor:pointer;flex-shrink:0}.story-guidelines-modal .theme-inherit-hint{font-size:.8rem;color:rgba(var(--vsg-purple-rgb),.7);font-style:normal}.story-guidelines-modal .theme-inherit-value{font-size:.85rem;color:rgba(var(--vsg-purple-rgb),.8);font-style:normal;padding-left:26px;line-height:1.4}.story-guidelines-modal .theme-inherit-value.muted,.story-guidelines-modal .theme-inherit-hint.muted{color:#fff6}.alphabet-filter{display:flex;align-items:center;gap:.2rem;background:#0003;border-radius:6px;padding:3px;border:1px solid rgba(var(--vsg-purple-rgb),.1)}.alphabet-letters{display:flex;gap:.2rem;flex:1;justify-content:center;flex-wrap:wrap}.alphabet-letter{padding:4px 6px;background:transparent;border:none;color:rgba(var(--vsg-purple-rgb),.45);font-family:var(--font-primary);font-size:.7rem;cursor:pointer;border-radius:4px;transition:all .2s ease;letter-spacing:.3px;min-width:24px;text-align:center}.alphabet-letter:first-child{padding:4px 10px;min-width:auto}.alphabet-letter:hover{background:rgba(var(--vsg-purple-rgb),.08);color:rgba(var(--vsg-purple-rgb),.7)}.alphabet-letter.active{background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple);box-shadow:0 0 8px rgba(var(--vsg-purple-rgb),.15)}.alphabet-entity-divider{width:1px;height:24px;background:rgba(var(--vsg-purple-rgb),.1);margin:0 .5rem;flex-shrink:0}.entity-toggles{display:flex;gap:4px;flex-shrink:0}.entity-toggle{padding:4px 10px;background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:4px;color:#fff6;font-family:var(--font-primary);font-weight:400;font-size:11px;letter-spacing:.5px;cursor:pointer;transition:all .2s ease}.entity-toggle.active{background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple);border-color:rgba(var(--vsg-purple-rgb),.4);text-shadow:0 0 8px rgba(var(--vsg-purple-rgb),.3)}.entity-toggle[data-id=official].active{background:rgba(var(--vsg-magenta-rgb),.15);color:var(--vsg-magenta);border-color:rgba(var(--vsg-magenta-rgb),.4);text-shadow:0 0 8px rgba(var(--vsg-magenta-rgb),.3)}.entity-toggle:hover:not(.active){border-color:rgba(var(--vsg-purple-rgb),.3);color:#ffffffb3}.world-navigator{display:flex;flex-direction:column;gap:.75rem;margin-bottom:0}.world-navigator .main-tab{background:transparent;border:none;border-bottom:1px solid transparent;padding:var(--main-tab-pad);color:rgba(var(--vsg-purple-rgb),.5);font-family:var(--font-primary);font-size:var(--main-tab-label);cursor:pointer;transition:all .2s ease;letter-spacing:.5px;white-space:nowrap}.world-navigator .main-tab:hover{color:rgba(var(--vsg-purple-rgb),.8);border-bottom-color:rgba(var(--vsg-purple-rgb),.3)}.world-navigator .main-tab.active{color:var(--vsg-purple);border-bottom-color:var(--vsg-purple)}.world-navigator .main-tab.tab-locked{color:rgba(var(--vsg-purple-rgb),.2);cursor:pointer}.world-navigator .main-tab.tab-locked:hover{color:rgba(var(--vsg-purple-rgb),.3);border-bottom-color:transparent}.world-navigator .delete-all-btn{background:rgba(var(--vsg-magenta-rgb),.1);border:1px solid rgba(var(--vsg-magenta-rgb),.4);border-radius:6px;color:var(--vsg-magenta);font-family:var(--font-primary);font-size:var(--nav-action-label);padding:var(--nav-action-pad);cursor:pointer;transition:all .2s ease;letter-spacing:.3px;white-space:nowrap}.world-navigator .delete-all-btn:hover{background:rgba(var(--vsg-magenta-rgb),.25);border-color:var(--vsg-magenta);box-shadow:0 0 15px rgba(var(--vsg-magenta-rgb),.5);transform:scale(1.05)}.world-navigator .section-action-btn{background:rgba(var(--vsg-purple-rgb),.15);border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:6px;color:var(--vsg-purple);font-family:var(--font-primary);font-size:var(--nav-action-label);padding:var(--nav-action-pad);cursor:pointer;transition:all .2s ease;letter-spacing:.3px;white-space:nowrap}.world-navigator .section-action-btn:hover{background:rgba(var(--vsg-purple-rgb),.3);border-color:var(--vsg-purple);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.5);transform:scale(1.05)}:where(.world-navigator) .lore-category-tabs{display:flex;flex-wrap:wrap;gap:.25rem;background:#0000004d;border-radius:8px;padding:3px;border:1px solid rgba(var(--vsg-purple-rgb),.15);justify-content:center}:where(.world-navigator) .lore-category-tab{padding:8px 16px;background:transparent;border:none;color:rgba(var(--vsg-purple-rgb),.5);font-family:var(--font-primary);font-size:.85rem;cursor:pointer;border-radius:6px;transition:all .2s ease}:where(.world-navigator) .lore-category-tab:hover{background:rgba(var(--vsg-purple-rgb),.1);color:rgba(var(--vsg-purple-rgb),.8)}:where(.world-navigator) .lore-category-tab.active{background:rgba(var(--vsg-purple-rgb),.2);color:var(--vsg-purple);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.2)}:where(.world-navigator) .lore-subcategory-tabs{display:flex;gap:.35rem;background:#0003;border-radius:6px;padding:3px;border:1px solid rgba(var(--vsg-purple-rgb),.1);justify-content:center;flex-wrap:wrap}:where(.world-navigator) .lore-subcategory-tab{padding:4px 10px;background:transparent;border:none;color:rgba(var(--vsg-purple-rgb),.45);font-family:var(--font-primary);font-size:.75rem;cursor:pointer;border-radius:4px;transition:all .2s ease;letter-spacing:.3px}:where(.world-navigator) .lore-subcategory-tab:hover{background:rgba(var(--vsg-purple-rgb),.08);color:rgba(var(--vsg-purple-rgb),.7)}:where(.world-navigator) .lore-subcategory-tab.active{background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple);box-shadow:0 0 8px rgba(var(--vsg-purple-rgb),.15)}.sub-tabs-wrapper{display:flex;gap:0;background:#0006;border-radius:12px;padding:var(--segment-frame-pad);border:1px solid rgba(var(--vsg-purple-rgb),.2);margin-bottom:0;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.sub-tabs-wrapper::-webkit-scrollbar{display:none}.sub-tab{padding:var(--segment-pad);background:transparent;border:none;color:rgba(var(--vsg-purple-rgb),.6);font-family:var(--font-primary);font-size:var(--segment-label);cursor:pointer;border-radius:8px;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:var(--segment-gap);flex:1 0 auto}.sub-tab:hover{background:rgba(var(--vsg-purple-rgb),.1);color:rgba(var(--vsg-purple-rgb),.8)}.sub-tab.active{background:rgba(var(--vsg-purple-rgb),.2);color:var(--vsg-purple);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.3)}.tab-label{font-weight:400;font-size:var(--segment-label-lg)}.tab-full{font-size:var(--segment-label-sm);opacity:.8;white-space:nowrap}.add-level-btn-middle{background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.2),rgba(var(--vsg-purple-rgb),.1));border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:8px;color:var(--vsg-purple);font-family:var(--font-primary);font-size:var(--segment-label-sm);padding:var(--segment-action-pad);cursor:pointer;transition:all .3s ease;white-space:nowrap;flex-shrink:0}.add-level-btn-middle:hover{background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.3),rgba(var(--vsg-purple-rgb),.2));border-color:var(--vsg-purple);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.4);transform:translateY(-1px)}.add-level-btn-middle[disabled]{cursor:not-allowed;opacity:.7;font-size:var(--segment-label)}.add-level-btn-middle[disabled]:hover{transform:none;box-shadow:none}.fetch-world-archives-modal{background:transparent;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;width:90%;max-width:600px;max-height:calc(80 * var(--vh-fit));display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080,0 0 60px rgba(var(--vsg-purple-rgb),.1)}.fetch-world-archives-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.fetch-world-archives-modal .modal-header h2{font-family:var(--font-primary);font-size:20px;font-weight:400;color:var(--vsg-purple);margin:0;letter-spacing:.5px}.fetch-world-archives-modal .modal-description{font-family:var(--font-primary);font-size:13px;color:#ffffffb3;padding:16px 24px;margin:0;line-height:1.6;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.1)}.fetch-world-archives-modal .modal-error{background:rgba(var(--vsg-error-rgb),.15);border:1px solid rgba(var(--vsg-error-rgb),.4);color:var(--vsg-error);padding:12px 24px;font-size:13px}.fetch-world-archives-modal .modal-actions-top{display:flex;align-items:center;gap:12px;padding:12px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.1)}.fetch-world-archives-modal .selection-count{font-family:var(--font-primary);font-size:12px;color:rgba(var(--vsg-purple-rgb),.7);margin-left:auto}.fetch-world-archives-modal .archives-list{flex:1;overflow-y:auto;padding:16px 24px;display:flex;flex-direction:column;gap:8px;min-height:200px;max-height:400px}.fetch-world-archives-modal .archives-loading{display:flex;align-items:center;justify-content:center;min-height:200px}.fetch-world-archives-modal .no-archives{display:flex;align-items:center;justify-content:center;min-height:150px;font-family:var(--font-primary);font-size:13px;color:rgba(var(--vsg-purple-rgb),.5);text-align:center;padding:20px}.fetch-world-archives-modal .archive-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:6px;cursor:pointer;transition:all .2s ease}.fetch-world-archives-modal .archive-item:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.4)}.fetch-world-archives-modal .archive-item.selected{background:rgba(var(--vsg-purple-rgb),.15);border-color:var(--vsg-purple)}.fetch-world-archives-modal .archive-checkbox{width:24px;height:24px;border:2px solid rgba(var(--vsg-purple-rgb),.5);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:400;color:var(--vsg-purple);flex-shrink:0;transition:all .2s ease}.fetch-world-archives-modal .archive-item.selected .archive-checkbox{background:var(--vsg-purple);border-color:var(--vsg-purple);color:#fff}.fetch-world-archives-modal .archive-icon-container{font-size:20px;flex-shrink:0;width:28px;text-align:center}.fetch-world-archives-modal .archive-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.fetch-world-archives-modal .archive-name{font-family:var(--font-primary);font-size:14px;font-weight:400;color:#fffffff2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fetch-world-archives-modal .archive-description{font-size:12px;color:#ffffff80;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fetch-world-archives-modal .modal-actions{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.2)}.dedup-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:dedupFadeIn .2s ease}.dedup-modal-content{background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:12px;width:90%;max-width:700px;max-height:calc(85 * var(--vh-fit));display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3);animation:dedupSlideUp .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);outline:none}.dedup-modal-header{padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05);display:flex;align-items:center;justify-content:space-between}.dedup-modal-header-left{display:flex;align-items:center;gap:12px}.dedup-modal-title{color:var(--vsg-purple);font-family:var(--font-primary);font-size:1.25rem;font-weight:400;margin:0;letter-spacing:.5px;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5)}.dedup-modal-filter-badge{background:rgba(var(--vsg-purple-rgb),.15);border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:16px;padding:2px 10px;font-size:12px;color:rgba(var(--vsg-purple-rgb),.8);letter-spacing:.5px}.dedup-modal-body{padding:24px;overflow-y:auto;flex:1}.dedup-modal-error{background:rgba(var(--vsg-error-rgb),.1);border:1px solid rgba(var(--vsg-error-rgb),.4);border-radius:8px;padding:12px 16px;margin-bottom:16px;color:var(--vsg-error);font-size:14px}.dedup-setup-section{display:flex;flex-direction:column;align-items:flex-start}.dedup-setup-section+.dedup-setup-section{margin-top:28px;padding-top:24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.1)}.dedup-setup-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%}.dedup-setup-description{color:#ffffffb3;font-size:14px;margin:0 0 20px;line-height:1.5}.dedup-setup-group-note{color:rgba(var(--vsg-purple-rgb),.6);font-size:13px;margin-top:-12px}.dedup-setup-discrepancies{display:flex;flex-direction:column;gap:12px;margin-bottom:16px;width:100%}.dedup-discrepancy-row{display:flex;align-items:center;gap:8px}.dedup-discrepancy-dropdowns{display:flex;align-items:center;gap:8px;flex:1}.dedup-discrepancy-dropdown{flex:1;min-width:0}.dedup-discrepancy-arrow{color:rgba(var(--vsg-purple-rgb),.6);font-size:16px;flex-shrink:0}.dedup-discrepancy-remove{background:none;border:none;color:rgba(var(--vsg-magenta-rgb),.6);font-size:20px;cursor:pointer;padding:0 4px;line-height:1;flex-shrink:0;transition:color .2s ease}.dedup-discrepancy-remove:hover{color:var(--vsg-magenta)}:where(.dedup-modal-overlay) .dedup-modal-running{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 0;gap:16px}:where(.dedup-modal-overlay) .dedup-modal-spinner{width:40px;height:40px;border:3px solid rgba(var(--vsg-purple-rgb),.2);border-top-color:var(--vsg-purple);border-radius:50%;animation:dedupSpin .8s linear infinite}.dedup-modal-running-text{color:#ffffffb3;font-size:14px;margin:0}:where(.dedup-modal-overlay) .dedup-review-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:8px}:where(.dedup-modal-overlay) .dedup-review-summary{color:#ffffffb3;font-size:13px;margin:0;line-height:1.5}:where(.dedup-modal-overlay) .dedup-review-summary--note{color:var(--vsg-caution)}:where(.dedup-modal-overlay) .dedup-review-toggles{display:flex;gap:4px}:where(.dedup-modal-overlay) .dedup-review-toggle{background:none;border:1px solid rgba(var(--vsg-purple-rgb),.25);border-radius:8px;color:rgba(var(--vsg-purple-rgb),.7);font-family:var(--font-primary);font-size:11px;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;padding:4px 10px;transition:all .2s ease}:where(.dedup-modal-overlay) .dedup-review-toggle:hover:not(:disabled){color:var(--vsg-purple);border-color:rgba(var(--vsg-purple-rgb),.5);background:rgba(var(--vsg-purple-rgb),.08)}:where(.dedup-modal-overlay) .dedup-review-toggle:disabled{opacity:.3;cursor:not-allowed}:where(.dedup-modal-overlay) .dedup-review-list{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}:where(.dedup-modal-overlay) .dedup-candidate-card{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;background:#0000004d;transition:all .2s ease}:where(.dedup-modal-overlay) .dedup-candidate-card:hover{border-color:rgba(var(--vsg-purple-rgb),.4)}.dedup-candidate-checked{border-color:rgba(var(--vsg-purple-rgb),.4);background:rgba(var(--vsg-purple-rgb),.05)}.dedup-candidate-checked:hover{border-color:rgba(var(--vsg-purple-rgb),.6);background:rgba(var(--vsg-purple-rgb),.08)}:where(.dedup-modal-overlay) .dedup-candidate-content{flex:1;min-width:0}:where(.dedup-modal-overlay) .dedup-candidate-avatar-pair{display:flex;justify-content:space-around;margin-bottom:10px}:where(.dedup-modal-overlay) .dedup-candidate-names-row{display:flex;gap:12px;margin-bottom:6px}:where(.dedup-modal-overlay) .dedup-entry-name{flex:1;font-family:var(--font-primary);font-size:12px;font-weight:400;letter-spacing:.5px;cursor:pointer;padding:4px 8px;border-radius:6px;border:1px solid transparent;transition:all .2s ease}.dedup-entry-name-selectable{color:#fff9}.dedup-entry-name-selectable:hover{color:rgba(var(--vsg-purple-rgb),.8);border-color:rgba(var(--vsg-purple-rgb),.25);background:rgba(var(--vsg-purple-rgb),.04)}.dedup-entry-name-selected{color:rgba(var(--vsg-purple-rgb),.95);border-color:rgba(var(--vsg-purple-rgb),.4);background:rgba(var(--vsg-purple-rgb),.08)}.dedup-entry-name-selected:hover{border-color:rgba(var(--vsg-purple-rgb),.55);background:rgba(var(--vsg-purple-rgb),.1)}:where(.dedup-modal-overlay) .dedup-candidate-descriptions{display:flex;gap:12px;margin-bottom:8px}:where(.dedup-modal-overlay) .dedup-candidate-desc-col{flex:1;display:flex;flex-direction:column;gap:3px}:where(.dedup-modal-overlay) .dedup-candidate-desc{color:#ffffff8c;font-size:12px;line-height:1.4}.dedup-candidate-synopsis{color:#ffffff73;font-size:11px;font-style:normal;line-height:1.4}:where(.dedup-modal-overlay) .dedup-candidate-avatar-wrapper{width:48px;height:48px;border-radius:50%;overflow:hidden;border:2px solid rgba(var(--vsg-purple-rgb),.2);transition:all .2s ease;flex-shrink:0}.dedup-candidate-avatar-wrapper.dedup-avatar-selectable{cursor:pointer;border-color:rgba(var(--vsg-purple-rgb),.25)}.dedup-candidate-avatar-wrapper.dedup-avatar-selectable:hover{border-color:rgba(var(--vsg-purple-rgb),.6);box-shadow:0 0 12px rgba(var(--vsg-purple-rgb),.3)}.dedup-candidate-avatar-wrapper.dedup-avatar-selected{border-color:var(--vsg-purple);box-shadow:0 0 16px rgba(var(--vsg-purple-rgb),.5),0 0 4px rgba(var(--vsg-purple-rgb),.8)}.dedup-candidate-avatar-wrapper.dedup-avatar-empty{border-style:dashed;border-color:#ffffff26;background:#0003}:where(.dedup-modal-overlay) .dedup-candidate-avatar{width:100%;height:100%;object-fit:cover}:where(.dedup-modal-overlay) .dedup-candidate-avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#fff3;font-size:18px;font-family:var(--font-primary)}.dedup-candidate-reason-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}:where(.dedup-modal-overlay) .dedup-candidate-reason{color:rgba(var(--vsg-purple-rgb),.6);font-size:11px;font-style:normal;margin:0}:where(.dedup-modal-overlay) .dedup-candidate-names{display:flex;align-items:center;padding-top:8px;border-top:1px solid rgba(var(--vsg-purple-rgb),.1)}:where(.dedup-modal-overlay) .dedup-candidate-survivor{flex:1;font-family:var(--font-primary);color:rgba(var(--vsg-purple-rgb),.9);font-weight:400;font-size:12px;letter-spacing:.5px}:where(.dedup-modal-overlay) .dedup-candidate-arrow{flex-shrink:0;color:rgba(var(--vsg-purple-rgb),.5);font-size:14px;padding:0 12px}:where(.dedup-modal-overlay) .dedup-candidate-merged{flex:1;text-align:right;font-family:var(--font-primary);color:rgba(var(--vsg-magenta-rgb),.7);font-weight:400;font-size:12px;letter-spacing:.5px;text-decoration:line-through;text-decoration-color:rgba(var(--vsg-magenta-rgb),.35)}.dedup-candidate-flagged{background:rgba(var(--vsg-purple-rgb),.15);border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:12px;padding:1px 8px;font-family:var(--font-primary);font-size:9px;color:rgba(var(--vsg-purple-rgb),.8);text-transform:uppercase;letter-spacing:.5px}.dedup-candidate-type-badge{background:rgba(var(--vsg-info-rgb),.15);border:1px solid rgba(var(--vsg-info-rgb),.4);border-radius:12px;padding:1px 6px;font-family:var(--font-primary);font-size:8px;color:rgba(var(--vsg-info-rgb),.8);text-transform:uppercase;letter-spacing:.5px;margin-left:6px}.dedup-review-footer{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid rgba(var(--vsg-purple-rgb),.15)}.dedup-modal-complete{display:flex;flex-direction:column;align-items:center;padding:32px 0;text-align:center}.dedup-modal-complete-title{font-family:var(--font-primary);color:var(--vsg-purple);font-size:18px;font-weight:400;margin:0 0 20px;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5)}.dedup-modal-complete-stats{margin-bottom:24px}.dedup-modal-stat-merged{color:var(--vsg-purple);font-size:14px;margin:4px 0}.dedup-modal-stat-rejected{color:#fff9;font-size:14px;margin:4px 0}.dedup-modal-stat-none{color:#ffffff80;font-size:14px;margin:4px 0}.dedup-history-back{background:none;border:none;color:rgba(var(--vsg-purple-rgb),.7);font-size:13px;cursor:pointer;padding:0;margin-bottom:20px;transition:color .2s ease}.dedup-history-back:hover{color:var(--vsg-purple)}.dedup-history-section-title{font-family:var(--font-primary);color:var(--vsg-purple);font-size:15px;font-weight:400;margin:0 0 12px;letter-spacing:.5px;text-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.3)}.dedup-history-empty{color:#fff6;font-size:13px;font-style:normal;margin:0 0 24px}.dedup-history-list{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.merge-history-search-wrapper{margin-bottom:16px}.merge-history-search{width:100%;background:#0009;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;padding:8px 12px;color:#ffffffe6;font-family:var(--font-primary);font-size:13px;outline:none;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.merge-history-search::placeholder{color:#ffffff59}.merge-history-search:focus{border-color:rgba(var(--vsg-purple-rgb),.6);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.2)}.merge-history-meta-row{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding-top:6px;gap:8px}.merge-history-meta-left{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.merge-history-meta-right{flex-shrink:0}.merge-history-category{background:rgba(var(--vsg-purple-rgb),.15);border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:12px;padding:1px 8px;font-family:var(--font-primary);font-size:9px;color:rgba(var(--vsg-purple-rgb),.8);text-transform:uppercase;letter-spacing:.5px}.merge-history-separator{color:#ffffff40;font-size:10px}.merge-history-date{color:#fff6;font-size:11px}.merge-history-trigger{color:#ffffff80;font-size:11px}.dedup-candidate-card.merge-history-undone{border-color:rgba(var(--vsg-magenta-rgb),.4);background:rgba(var(--vsg-magenta-rgb),.05);opacity:.7}.dedup-candidate-card.merge-history-undone:hover{border-color:rgba(var(--vsg-magenta-rgb),.5)}.merge-history-undone-label{background:rgba(var(--vsg-magenta-rgb),.15);border:1px solid rgba(var(--vsg-magenta-rgb),.4);border-radius:12px;padding:1px 8px;font-family:var(--font-primary);font-size:9px;color:rgba(var(--vsg-magenta-rgb),.8);text-transform:uppercase;letter-spacing:.5px}.merge-history-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:4px;border:none;border-radius:6px;background:transparent;cursor:pointer;transition:all .2s ease}.merge-history-nav-btn:hover{background:rgba(var(--vsg-purple-rgb),.15);transform:scale(1.1)}.merge-history-nav-btn:active{transform:scale(.95)}.merge-history-bottom-actions{margin-top:24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.merge-history-bottom-right{display:flex;align-items:center;gap:8px}.dedup-group-section-divider{border:none;border-top:1px solid rgba(var(--vsg-purple-rgb),.15);margin:20px 0 16px}.dedup-group-section-heading{font-family:var(--font-primary);color:var(--vsg-purple);font-size:14px;font-weight:400;margin:0 0 8px;letter-spacing:.5px;text-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.3)}.dedup-group-name{font-weight:400;color:#ffffffe6;font-size:.95rem}.dedup-group-name-flagged{color:var(--vsg-magenta)}.dedup-group-namebank-toggle{display:flex;align-items:center;gap:8px;color:#ffffffb3;font-size:.85rem;margin:12px 0 0;cursor:pointer}@keyframes dedupFadeIn{0%{opacity:0}to{opacity:1}}@keyframes dedupSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes dedupSpin{to{transform:rotate(360deg)}}.tab-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;min-height:200px}.tab-error-icon{font-size:48px;margin-bottom:16px}.tab-error-title{font-family:var(--font-primary);font-size:18px;font-weight:400;color:#ffffffe0;margin:0 0 12px}.tab-error-message{font-size:14px;color:#ffffff87;margin:0 0 24px;max-width:400px}.tab-error-retry-btn{background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.6),rgba(var(--vsg-purple-rgb),.44));color:#fff;border:none;padding:10px 24px;border-radius:6px;font-size:14px;font-weight:400;cursor:pointer;transition:all .2s ease}.tab-error-retry-btn:hover{background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.69),rgba(var(--vsg-purple-rgb),.5));transform:translateY(-1px)}.tab-error-retry-btn:active{transform:translateY(0)}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:.7}}.skeleton-animate .skeleton-text,.skeleton-animate .skeleton-avatar,.skeleton-animate .skeleton-card-image,.skeleton-animate .skeleton-tree-icon{animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-text{background:linear-gradient(90deg,var(--vsg-surface) 0%,rgba(var(--vsg-info-rgb),.3) 50%,var(--vsg-surface) 100%);background-size:200% 100%;border-radius:4px;height:14px}.skeleton-text-title{width:60%;height:16px;margin-bottom:8px}.skeleton-text-subtitle{width:40%;height:12px}.skeleton-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(90deg,var(--vsg-surface) 0%,rgba(var(--vsg-info-rgb),.3) 50%,var(--vsg-surface) 100%);background-size:200% 100%;flex-shrink:0}.skeleton-list{display:flex;flex-direction:column;gap:12px;padding:16px}.skeleton-list-item{display:flex;align-items:center;gap:12px;padding:12px;background:rgba(var(--vsg-surface-rgb),.5);border-radius:8px}.skeleton-text-group{flex:1;display:flex;flex-direction:column;gap:4px}.skeleton-grid{display:grid;gap:16px;padding:16px}.skeleton-card{background:rgba(var(--vsg-surface-rgb),.5);border-radius:8px;overflow:hidden}.skeleton-card-image{width:100%;height:120px;background:linear-gradient(90deg,var(--vsg-surface) 0%,rgba(var(--vsg-info-rgb),.3) 50%,var(--vsg-surface) 100%);background-size:200% 100%}.skeleton-card-content{padding:12px}.skeleton-tree{display:flex;flex-direction:column;gap:8px;padding:16px}.skeleton-tree-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:rgba(var(--vsg-surface-rgb),.3);border-radius:6px}.skeleton-tree-icon{width:20px;height:20px;border-radius:4px;background:linear-gradient(90deg,var(--vsg-surface) 0%,rgba(var(--vsg-info-rgb),.3) 50%,var(--vsg-surface) 100%);background-size:200% 100%;flex-shrink:0}.skeleton-table{display:flex;flex-direction:column;gap:4px;padding:16px}.skeleton-table-header{display:flex;gap:16px;padding:12px 16px;background:rgba(var(--vsg-surface-rgb),.5);border-radius:6px 6px 0 0}.skeleton-table-row{display:flex;gap:16px;padding:12px 16px;background:rgba(var(--vsg-surface-rgb),.3)}.skeleton-table-row:last-child{border-radius:0 0 6px 6px}.skeleton-table-cell{height:14px;background:linear-gradient(90deg,var(--vsg-surface) 0%,rgba(var(--vsg-info-rgb),.3) 50%,var(--vsg-surface) 100%);background-size:200% 100%;border-radius:4px}.skeleton-table-cell-sm{width:60px}.skeleton-table-cell-md{width:120px}.skeleton-table-cell-lg{width:200px;flex:1}.world-welcome-tab{display:flex;flex-direction:column;align-items:center;gap:24px;padding:20px;min-height:400px}.world-welcome-tab .read-first-archives,.world-welcome-tab .world-settings-content,.world-welcome-tab .world-welcome-loading{width:100%;align-self:stretch}.world-welcome-loading{display:flex;align-items:center;justify-content:center;min-height:300px}.read-first-archives{display:flex;flex-direction:column;gap:12px}.read-first-archive{display:flex;align-items:center;gap:16px;padding:16px 20px;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;cursor:pointer;transition:all .2s ease}.read-first-archive:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:var(--vsg-purple);transform:translate(4px)}.archive-icon{font-size:24px;flex-shrink:0}.archive-content{flex:1;min-width:0}:where(.world-welcome-tab,.world-welcome-loading) .archive-name{font-family:var(--font-primary);font-size:16px;font-weight:400;color:var(--vsg-purple);margin:0 0 4px}.archive-arrow{font-size:18px;color:rgba(var(--vsg-purple-rgb),.5);flex-shrink:0;transition:transform .2s ease}.read-first-archive:hover .archive-arrow{color:var(--vsg-purple);transform:translate(4px)}.world-welcome-tab .settings-content{display:flex;flex-direction:column;gap:12px}.world-welcome-tab .settings-section{background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;padding:24px}.world-welcome-tab .section-title{font-family:var(--font-primary);font-size:20px;font-weight:400;color:var(--vsg-purple);margin:0 0 20px;letter-spacing:.5px}.world-welcome-tab .info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media (max-width: 1200px){.world-welcome-tab .info-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.world-welcome-tab .info-grid{grid-template-columns:1fr}}.world-welcome-tab .info-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;min-height:80px;background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;text-align:center}.world-welcome-tab .info-label{font-family:var(--font-primary);font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:1px;color:rgba(var(--vsg-purple-rgb),.7)}.world-welcome-tab .info-value{font-family:var(--font-primary);font-size:14px;font-weight:400;color:var(--vsg-purple)}.world-welcome-tab .info-value.styled-display-name-with-tooltip{overflow:visible}.world-welcome-tab .info-value-link{cursor:pointer;text-decoration:underline;transition:opacity .2s ease}.world-welcome-tab .info-value-link:hover{opacity:.8}.world-welcome-tab .about-section{padding:12px 20px}.world-welcome-tab .about-section .section-title{margin-bottom:8px}.world-welcome-tab .about-content{padding:10px 14px;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:6px}.world-welcome-tab .about-text{font-family:var(--font-primary);font-size:14px;line-height:1.8;color:#ffffffe6;margin:0;white-space:pre-wrap}:where(.world-welcome-tab,.world-welcome-loading) .settings-edit-mode{padding-bottom:20px}:where(.world-welcome-tab,.world-welcome-loading) .settings-error{background:rgba(var(--vsg-error-rgb),.1);border:1px solid rgba(var(--vsg-error-rgb),.4);border-radius:6px;padding:12px 16px;color:var(--vsg-error);font-size:14px;margin-bottom:16px}:where(.world-welcome-tab,.world-welcome-loading) .edit-form{display:flex;flex-direction:column;gap:20px}:where(.world-welcome-tab,.world-welcome-loading) .edit-field{display:flex;flex-direction:column;gap:8px}:where(.world-welcome-tab,.world-welcome-loading) .edit-field-toggle{flex-direction:row;align-items:center;justify-content:space-between}:where(.world-welcome-tab,.world-welcome-loading) .edit-label{font-family:var(--font-primary);font-weight:400;text-transform:uppercase}:where(.world-welcome-tab,.world-welcome-loading) .edit-input,:where(.world-welcome-tab,.world-welcome-loading) .edit-textarea{font-family:var(--font-primary);font-size:14px;padding:12px 16px;background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:#fff;transition:all .2s ease}:where(.world-welcome-tab,.world-welcome-loading) .edit-input:focus,:where(.world-welcome-tab,.world-welcome-loading) .edit-textarea:focus{outline:none;border-color:var(--vsg-purple);background:#00000080}:where(.world-welcome-tab,.world-welcome-loading) .edit-input::placeholder,:where(.world-welcome-tab,.world-welcome-loading) .edit-textarea::placeholder{color:#fff6}:where(.world-welcome-tab,.world-welcome-loading) .edit-textarea{min-height:100px;resize:vertical;line-height:1.6}.toggle-explanation{font-size:12px;color:#ffffff80;margin:4px 0 0;text-align:right}:where(.world-welcome-tab,.world-welcome-loading) .edit-actions{display:flex;padding-top:16px;border-top:1px solid rgba(var(--vsg-purple-rgb),.2)}.world-archives-tab{display:flex;flex-direction:column;align-items:center;gap:24px;padding:20px;min-height:400px}.world-archives-tab .world-archives-list,.world-archives-tab .archive-details,.world-archives-tab .archive-content-view,.world-archives-tab .archives-loading,.world-archives-tab .add-archive-form{width:100%;align-self:stretch}:where(.world-archives-tab) .archives-loading{display:flex;align-items:center;justify-content:center;min-height:300px}.world-archives-tab .add-archive-form{background:#0009;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;padding:24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.world-archives-tab .add-archive-form h3{color:var(--vsg-purple);font-family:var(--font-primary);font-size:18px;margin:0 0 20px}.world-archives-tab .form-row{display:flex;gap:16px;margin-bottom:16px;align-items:center}.world-archives-tab .form-row label{font-family:var(--font-primary);font-size:13px;color:rgba(var(--vsg-purple-rgb),.8);min-width:120px}.world-archives-tab .form-value-readonly{padding:10px 12px;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;color:#ffffffb3;font-size:14px;min-width:200px}.world-archives-tab .form-dropdown-container{min-width:200px}.world-archives-tab .form-input,.world-archives-tab .form-textarea{flex:1;padding:12px 16px;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;color:#ffffffe6;font-size:14px;font-family:var(--font-primary);transition:all .2s ease;outline:none}.world-archives-tab .form-input:focus,.world-archives-tab .form-textarea:focus{background:rgba(var(--vsg-purple-rgb),.1);border-color:var(--vsg-purple);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.2)}.world-archives-tab .form-input::placeholder,.world-archives-tab .form-textarea::placeholder{color:#fff6}.world-archives-tab .form-textarea{width:100%;resize:vertical;min-height:60px;margin-bottom:16px}.world-archives-tab .archive-info-box{margin:20px 0;padding:16px;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:rgba(var(--vsg-purple-rgb),.9);font-size:13px;line-height:1.6}.world-archives-tab .archive-info-box p{margin:0 0 8px}.world-archives-tab .archive-info-box p:last-child{margin-bottom:0}.world-archives-tab .form-actions{display:flex;flex-direction:column;align-items:center;gap:12px;padding-top:16px}.world-archives-tab .form-actions button{width:200px}.world-archives-list{display:flex;flex-direction:column;align-items:center;width:100%}.world-archives-tab .archive-item{margin-bottom:8px;width:100%;max-width:1200px}.world-archives-tab .archive-card{background:#0009;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;overflow:hidden}.world-archives-tab .archive-card:hover{background:rgba(var(--vsg-purple-rgb),.05);border-color:rgba(var(--vsg-purple-rgb),.4);box-shadow:0 4px 20px rgba(var(--vsg-purple-rgb),.2)}.world-archives-tab .archive-card.selected{background:rgba(var(--vsg-purple-rgb),.1);border-color:var(--vsg-purple);box-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.3)}.world-archives-tab .archive-header{display:flex;align-items:center;padding:16px 20px;cursor:pointer;gap:16px}.world-archives-tab .expand-btn{width:24px;height:24px;background:none;border:none;color:rgba(var(--vsg-purple-rgb),.6);cursor:pointer;transition:all .2s ease;font-size:12px;padding:0;display:flex;align-items:center;justify-content:center;flex-shrink:0}.world-archives-tab .expand-btn:hover{color:var(--vsg-purple);transform:scale(1.2)}.world-archives-tab .archive-info{flex:1;min-width:0}.world-archives-tab .archive-name{color:var(--vsg-purple);font-family:var(--font-primary);font-size:16px;font-weight:400;margin:0 0 4px}.world-archives-tab .archive-description{color:#fff9;font-size:13px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.world-archives-tab .archive-stats{display:flex;gap:16px;color:rgba(var(--vsg-purple-rgb),.5);font-size:12px;flex-shrink:0}.world-archives-tab .stat{white-space:nowrap}.world-archives-tab .add-child-btn{width:32px;height:32px;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:var(--vsg-purple);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.world-archives-tab .add-child-btn:hover{background:rgba(var(--vsg-purple-rgb),.2);transform:scale(1.1);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.3)}.world-archives-tab .archive-children{border-left:2px solid rgba(var(--vsg-purple-rgb),.1);margin-left:20px;padding-left:0}.world-archives-tab .archive-details{background:#000c;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;padding:24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-top:24px}.world-archives-tab .archive-details h2{color:var(--vsg-purple);font-family:var(--font-primary);font-size:20px;margin:0 0 16px}.world-archives-tab .archive-details p{color:#ffffffb3;margin:0 0 20px;line-height:1.6}.world-archives-tab .archive-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.world-archives-tab .archive-actions button{min-width:140px}.world-archives-tab .archive-content-view{background:#0009;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;padding:24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.world-archives-tab .content-view-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.world-archives-tab .content-view-header h2{color:var(--vsg-purple);font-family:var(--font-primary);font-size:18px;margin:0}.world-archives-tab .content-loading{display:flex;justify-content:center;padding:40px}.world-archives-tab .content-list{display:flex;flex-direction:column;gap:16px}.world-archives-tab .content-item{background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;padding:16px}.world-archives-tab .content-item-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.world-archives-tab .content-type-badge{font-size:10px;font-weight:400;text-transform:uppercase;padding:4px 8px;background:rgba(var(--vsg-purple-rgb),.2);border-radius:4px;color:var(--vsg-purple)}.world-archives-tab .content-title{color:#fffffff2;font-family:var(--font-primary);font-size:15px;margin:0}.world-archives-tab .content-text{color:#ffffffb3;font-size:13px;line-height:1.6;margin:0;white-space:pre-wrap}.world-archives-tab .add-content-btn{align-self:center;margin-top:16px}.world-archives-tab .add-content-form{display:flex;flex-direction:column;gap:16px}.world-archives-tab .add-content-form .form-input,.world-archives-tab .add-content-form .form-textarea{margin-bottom:0}@media (max-width: 600px){.world-archives-tab .form-row{flex-direction:column;align-items:stretch}.world-archives-tab .form-row label{min-width:auto;margin-bottom:8px}.world-archives-tab .archive-header{flex-wrap:wrap;padding:12px 16px}.world-archives-tab .archive-stats{width:100%;margin-top:8px}.world-archives-tab .archive-actions{flex-direction:column}.world-archives-tab .archive-actions button{width:100%}}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;width:100%}.overlay-editor{display:flex;flex-direction:column;gap:16px;padding:16px;background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;margin-top:12px}.overlay-editor-header{display:flex;justify-content:space-between;align-items:center}.overlay-editor-title{font-family:var(--font-primary);font-size:14px;font-weight:400;color:var(--vsg-purple);margin:0;display:flex;align-items:center;gap:8px}.overlay-sheet-name{font-size:13px;color:#fff9;font-weight:300}.overlay-close-btn{background:transparent;border:none;color:#ffffff80;font-size:20px;cursor:pointer;padding:0 4px;transition:color .2s ease}.overlay-close-btn:hover{color:#ffffffe6}.overlay-legit-warning{font-family:var(--font-primary);font-size:12px;color:var(--vsg-gold);padding:8px 12px;background:rgba(var(--vsg-gold-rgb),.08);border:1px solid rgba(var(--vsg-gold-rgb),.2);border-radius:6px}.overlay-field-selector{display:flex;flex-direction:column;gap:6px}.overlay-label{font-family:var(--font-primary);font-size:12px;color:#ffffff80;letter-spacing:.3px}.overlay-select{background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:#ffffffe6;font-family:var(--font-primary);font-size:13px;padding:8px 12px;outline:none;transition:border-color .2s ease}.overlay-select:focus{border-color:rgba(var(--vsg-purple-rgb),.6)}.overlay-select option{background:var(--vsg-surface);color:#ffffffe6}.overlay-field-area{display:flex;flex-direction:column;gap:16px}.overlay-section{display:flex;flex-direction:column;gap:8px}.overlay-section-title{font-family:var(--font-primary);font-size:12px;font-weight:400;text-transform:uppercase;letter-spacing:.8px;color:rgba(var(--vsg-purple-rgb),.7);margin:0;display:flex;align-items:center;gap:6px}.overlay-count{font-size:11px;color:#fff6;font-weight:300}.overlay-options-list{display:flex;flex-direction:column;gap:4px}.overlay-option-row{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#0000004d;border-radius:4px;font-family:var(--font-primary);font-size:13px}.overlay-option-row.added{border-left:2px solid rgba(var(--vsg-purple-rgb),.5)}.overlay-option-row.base{cursor:pointer;transition:background .15s ease}.overlay-option-row.base:hover{background:#00000080}.overlay-option-row.removed{opacity:.4;text-decoration:line-through}.overlay-option-label{flex:1;color:#ffffffd9}.overlay-option-value{font-size:11px;color:#ffffff59;font-style:normal}.overlay-option-checkbox{width:16px;text-align:center;color:var(--vsg-purple);font-size:12px}.overlay-option-row.removed .overlay-option-checkbox{color:var(--vsg-magenta)}.overlay-add-form{display:flex;gap:8px;align-items:center}.overlay-input{flex:1;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:4px;color:#ffffffe6;font-family:var(--font-primary);font-size:13px;padding:6px 10px;outline:none;transition:border-color .2s ease}.overlay-input:focus{border-color:rgba(var(--vsg-purple-rgb),.5)}.overlay-input-value{flex:.6}.overlay-input::placeholder{color:#ffffff4d}.overlay-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid rgba(var(--vsg-purple-rgb),.1)}.overlay-footer-left{display:flex;align-items:center;gap:8px}.overlay-count-label{font-family:var(--font-primary);font-size:12px;color:#fff6}.overlay-footer-right{display:flex;gap:8px}.world-character-sheets-tab{display:flex;flex-direction:column;gap:24px;padding:20px;min-height:400px}:where(.world-character-sheets-tab) .sheets-loading{display:flex;align-items:center;justify-content:center;min-height:300px}:where(.world-character-sheets-tab) .sheet-card-actions-row{display:flex;align-items:center;justify-content:center;gap:8px;padding:6px 0 0}.world-character-sheets-tab .overlay-action-glyph{padding:4px;background:transparent;border:none;color:var(--vsg-purple);cursor:pointer;font-size:16px;font-weight:400;opacity:.7;transition:all .2s ease}.world-character-sheets-tab .overlay-action-glyph:hover{opacity:1;transform:scale(1.2)}.sheet-legit-badge{display:flex;align-items:center;justify-content:center;gap:4px}.allowed-sheets{width:100%}.manage-header{display:flex;flex-direction:column;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.manage-explanation{font-family:var(--font-primary);font-size:13px;color:#ffffff80;text-align:center;margin:0}.manage-exit-row{display:flex;justify-content:center;padding-top:12px}.legit-approval-badge{cursor:pointer;transition:all .2s ease}.legit-approval-badge:hover{transform:scale(1.05)}.legit-mode-view{display:flex;flex-direction:column;gap:20px;width:100%}.submit-button-row{display:flex;justify-content:center;padding-top:8px}.submit-section{padding-top:16px;border-top:1px solid rgba(var(--vsg-purple-rgb),.15)}.submit-section-title{font-family:var(--font-primary);font-size:14px;font-weight:400;text-transform:uppercase;letter-spacing:1px;color:rgba(var(--vsg-purple-rgb),.8);margin:0 0 12px}.submit-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000080;border-radius:8px;z-index:5}@media (max-width: 600px){.world-character-sheets-tab{padding:16px}}.overlay-health-check-world-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.overlay-health-check-world-modal-content{position:relative;background:var(--chromatic-bg-elevated, rgba(var(--vsg-surface-rgb), .95));border:1px solid var(--chromatic-purple-border, rgba(var(--vsg-purple-rgb), .3));border-radius:8px;padding:2rem 1.5rem 1.5rem;max-width:720px;width:100%;max-height:calc(80 * var(--vh-fit));overflow-y:auto;box-shadow:0 0 24px var(--chromatic-purple-glow, rgba(var(--vsg-purple-rgb), .15));display:flex;flex-direction:column;gap:.8rem}.overlay-health-check-world-modal-title{margin:0 0 .25rem;font-size:1.15rem;color:var(--chromatic-text-primary, rgba(255, 255, 255, .95));font-weight:300}.world-epic-tab{display:flex;flex-direction:column;align-items:center;gap:24px;padding:20px;min-height:400px}.world-epic-tab .epic-intro,.world-epic-tab .epic-list,.world-epic-tab .epic-detail-panel,.world-epic-tab .epic-loading{width:100%;align-self:stretch}.epic-loading{display:flex;align-items:center;justify-content:center;min-height:300px}.epic-intro{text-align:center;padding:16px 20px;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px}.epic-intro p{color:rgba(var(--vsg-purple-rgb),.8);font-size:14px;margin:0;font-style:normal}.epic-list{display:flex;flex-direction:column;gap:32px}.game-group{display:flex;flex-direction:column;gap:16px}.game-group-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.game-group-header h3{color:var(--vsg-purple);font-family:var(--font-primary);font-size:16px;margin:0}.epic-count{color:rgba(var(--vsg-purple-rgb),.5);font-size:12px}.epic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.epic-card{background:#0009;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;padding:16px;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.epic-card:hover{background:rgba(var(--vsg-purple-rgb),.05);border-color:rgba(var(--vsg-purple-rgb),.4);box-shadow:0 4px 20px rgba(var(--vsg-purple-rgb),.2);transform:translateY(-2px)}.epic-card.selected{background:rgba(var(--vsg-purple-rgb),.1);border-color:var(--vsg-purple);box-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.3)}.epic-card-header{display:flex;gap:12px;margin-bottom:12px}.epic-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;border:2px solid rgba(var(--vsg-purple-rgb),.4);flex-shrink:0}.epic-avatar img{width:100%;height:100%;object-fit:cover}.epic-info{flex:1;min-width:0}.epic-name{color:var(--vsg-purple);font-family:var(--font-primary);font-size:15px;font-weight:400;margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.epic-reason{display:inline-block;font-size:10px;font-weight:400;text-transform:uppercase;padding:3px 8px;background:rgba(var(--vsg-gold-rgb),.2);color:var(--vsg-gold);border-radius:4px}.epic-details{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.epic-detail{font-size:12px;color:#ffffffb3}:where(.world-epic-tab,.epic-detail-panel) .detail-label{color:rgba(var(--vsg-purple-rgb),.6)}.epic-player{font-size:12px;color:#fff9;margin-bottom:8px}.epic-source{font-size:11px;color:rgba(var(--vsg-purple-rgb),.4);padding-top:8px;border-top:1px solid rgba(var(--vsg-purple-rgb),.1)}.source-label{margin-right:4px}.system-name{margin-left:4px;opacity:.7}.epic-detail-panel{background:#0009;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;padding:24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}:where(.world-epic-tab,.epic-detail-panel) .detail-header{display:flex;align-items:center;padding-bottom:16px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.back-btn{background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;padding:8px 16px;color:var(--vsg-purple);font-family:var(--font-primary);font-size:13px;cursor:pointer;transition:all .2s ease}.back-btn:hover{background:rgba(var(--vsg-purple-rgb),.2)}.detail-image{width:200px;height:200px;border-radius:12px;overflow:hidden;border:2px solid rgba(var(--vsg-purple-rgb),.3)}.detail-image img{width:100%;height:100%;object-fit:cover}.detail-info{display:flex;flex-direction:column;gap:20px}.detail-badge.epic-badge{display:inline-block;font-size:12px;font-weight:400;text-transform:uppercase;padding:6px 12px;background:linear-gradient(135deg,rgba(var(--vsg-gold-rgb),.3),rgba(var(--vsg-gold-rgb),.1));color:var(--vsg-gold);border:1px solid rgba(var(--vsg-gold-rgb),.4);border-radius:6px;align-self:flex-start}.detail-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.stat-row{display:flex;flex-direction:column;gap:4px;padding:12px;background:rgba(var(--vsg-purple-rgb),.05);border-radius:8px}:where(.world-epic-tab,.epic-detail-panel) .stat-label{text-transform:uppercase}:where(.world-epic-tab,.epic-detail-panel) .stat-value{font-family:var(--font-primary)}.detail-achievements h4{color:var(--vsg-purple);font-family:var(--font-primary);font-size:14px;margin:0 0 8px}:where(.world-epic-tab,.epic-detail-panel) .detail-description p{line-height:1.6}.detail-achievements ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.detail-achievements li{padding:8px 12px;background:rgba(var(--vsg-gold-rgb),.1);border-left:3px solid var(--vsg-gold);border-radius:0 6px 6px 0;color:#ffffffd9;font-size:13px}.source-game{font-size:13px;color:rgba(var(--vsg-purple-rgb),.7);font-family:var(--font-primary)}.source-system{font-size:12px;color:rgba(var(--vsg-purple-rgb),.5)}@media (max-width: 600px){.world-epic-tab{padding:16px}.detail-image{width:100%;max-width:200px;margin:0 auto}.detail-stats{grid-template-columns:1fr}.game-group-header{flex-direction:column;align-items:flex-start;gap:4px}}.world-official-npcs-tab{display:flex;flex-direction:column;gap:24px;padding:20px;min-height:400px}.official-npcs-loading{display:flex;align-items:center;justify-content:center;min-height:300px}.official-npcs-error{text-align:center;padding:40px 20px;color:rgba(var(--vsg-error-rgb),.8)}.official-npcs-error p{font-family:var(--font-primary);font-size:14px;margin:0}.official-npcs-list{display:flex;flex-direction:column;gap:12px;width:100%}.official-npc-row-wrapper{display:flex;flex-direction:column}.official-npc-row{display:flex;align-items:center;gap:20px;padding:16px;background:#0006;border:1px solid rgba(var(--vsg-magenta-rgb),.2);border-radius:12px;transition:all .3s ease}.official-npc-row .npc-avatar{flex-shrink:0;width:80px;height:80px;border-radius:50%;overflow:hidden;border:2px solid rgba(var(--vsg-magenta-rgb),.3);background:#0009}.official-npc-row .npc-avatar img{width:100%;height:100%;object-fit:cover}.official-npc-row .npc-details{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0;justify-content:center}.npc-details .npc-name{font-family:var(--font-primary);font-size:18px;font-weight:400;color:var(--vsg-magenta);letter-spacing:.5px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.npc-details .npc-synopsis{font-size:14px;color:#ffffffb3;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.official-npc-row .npc-metadata{flex:1;display:flex;flex-direction:column;gap:4px;padding-left:20px;border-left:1px solid rgba(var(--vsg-magenta-rgb),.2);min-width:0}.npc-metadata .meta-item{display:flex;gap:6px;font-size:12px;white-space:nowrap}.npc-metadata .meta-label{color:rgba(var(--vsg-magenta-rgb),.6);text-transform:uppercase;font-size:11px;letter-spacing:.5px}.npc-metadata .meta-value{color:#ffffffb3;max-width:180px;overflow:hidden;text-overflow:ellipsis}.official-npc-row .npc-right{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:8px}.npc-game-count{font-family:var(--font-primary);font-size:13px;color:rgba(var(--vsg-magenta-rgb),.7);white-space:nowrap}.official-npc-children{border-left:2px solid rgba(var(--vsg-magenta-rgb),.2);margin-left:56px;margin-top:4px}.official-npc-child-row{display:flex;align-items:center;gap:16px;padding:10px 16px;background:#0000004d;border-bottom:1px solid rgba(var(--vsg-magenta-rgb),.08);transition:background .2s ease}.official-npc-child-row:last-child{border-bottom:none}.official-npc-child-row:hover{background:rgba(var(--vsg-magenta-rgb),.05)}.child-avatar{flex-shrink:0;width:48px;height:48px;border-radius:50%;overflow:hidden;border:1px solid rgba(var(--vsg-magenta-rgb),.3)}.child-avatar img{width:100%;height:100%;object-fit:cover}.child-details{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.child-name{font-family:var(--font-primary);font-size:15px;font-weight:400;color:var(--vsg-magenta);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.child-synopsis{font-size:12px;color:#ffffff80;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.child-metadata{display:flex;flex-wrap:wrap;gap:4px 12px;flex-shrink:0}.child-metadata .meta-item{display:flex;gap:4px;font-size:11px;white-space:nowrap}.child-metadata .meta-label{color:rgba(var(--vsg-magenta-rgb),.5);text-transform:uppercase;font-size:10px}.child-metadata .meta-value{color:#fff9}.npc-game-link{font-family:var(--font-primary);font-size:13px;color:var(--vsg-magenta);cursor:pointer;text-decoration:none;white-space:nowrap;flex-shrink:0;margin-left:auto;padding:4px 8px;border-radius:6px;transition:all .2s ease}.npc-game-link:hover{text-decoration:underline;background:rgba(var(--vsg-magenta-rgb),.1)}.world-games-tab{display:flex;flex-direction:column;align-items:center;gap:24px;padding:20px;min-height:400px}.world-games-tab .card-grid,.world-games-tab .games-loading,.world-games-tab .games-error{width:100%;align-self:stretch}.games-loading{display:flex;align-items:center;justify-content:center;min-height:300px}.games-error{text-align:center;padding:40px 20px;color:rgba(var(--vsg-error-rgb),.8)}.games-error p{font-family:var(--font-primary);font-size:14px;margin:0}@media (max-width: 600px){.world-games-tab{padding:16px}}.lore-table-container{overflow-x:auto;border-radius:12px;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.1)}.lore-table-empty{display:flex;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:#ffffff80;font-family:var(--font-primary)}.lore-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed;list-style:none}.lore-table,.lore-table *,.lore-table tr,.lore-table td,.lore-table th,.lore-table-container,.lore-table-container *,.lore-table tbody,.lore-table thead,.lore-table-row{list-style:none!important;list-style-type:none!important;list-style-image:none!important;list-style-position:inside!important}.lore-table td:before,.lore-table td:after,.lore-table th:before,.lore-table th:after,.lore-table tr:before,.lore-table tr:after,.lore-table tbody:before,.lore-table tbody:after,.lore-table thead:before,.lore-table thead:after,.lore-table-row:before,.lore-table-row:after,.index-badge:before,.index-badge:after,.table-badge:before,.table-badge:after,.session-count-badge:before,.session-count-badge:after,.tooltip-trigger:before,.tooltip-trigger:after,.name-cell:before,.name-cell:after,.truncated-text:before,.truncated-text:after,.array-preview:before,.array-preview:after,.dim-text:before,.dim-text:after,.col-index:before,.col-type:before,.col-status:before{content:none!important;display:none!important;visibility:hidden!important}.lore-table ::marker,.lore-table-container ::marker,.lore-table *::marker,.lore-table-row::marker,.index-badge::marker,.table-badge::marker{content:none!important;display:none!important;color:transparent!important;font-size:0!important}.lore-table thead{background:rgba(var(--vsg-surface-rgb),.95)}.lore-table th{padding:14px 16px;text-align:left;font-weight:400;color:var(--vsg-purple);text-transform:uppercase;font-size:10px;letter-spacing:1.5px;font-family:var(--font-primary);border-bottom:2px solid rgba(var(--vsg-purple-rgb),.3);white-space:nowrap}.lore-table td{padding:14px 16px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.08);vertical-align:middle;color:#ffffffd9;text-align:left;display:table-cell!important}.lore-table td.col-description,.lore-table td.col-leaders,.lore-table td.col-deities,.lore-table td.col-practices,.lore-table td.col-goals{overflow:hidden;text-overflow:ellipsis;max-width:0}.lore-table td.col-index,.lore-table td.col-type,.lore-table td.col-status,.lore-table td.col-rarity,.lore-table td.col-threat,.lore-table td.col-scope,.lore-table td.col-linkedSessions{overflow:visible!important;text-overflow:clip!important;max-width:none!important;white-space:nowrap!important}.lore-table th.col-type,.lore-table th.col-status,.lore-table th.col-rarity,.lore-table th.col-threat,.lore-table th.col-scope,.lore-table th.col-linkedSessions,.lore-table td.col-type,.lore-table td.col-status,.lore-table td.col-rarity,.lore-table td.col-threat,.lore-table td.col-scope,.lore-table td.col-linkedSessions{text-align:center}.lore-table td.col-type,.lore-table td.col-status,.lore-table td.col-rarity,.lore-table td.col-threat,.lore-table td.col-scope{text-align:center!important}.lore-table td.col-type .table-badge,.lore-table td.col-status .table-badge,.lore-table td.col-rarity .table-badge,.lore-table td.col-threat .table-badge,.lore-table td.col-scope .table-badge{margin:0 auto!important;display:inline-block!important;text-align:center!important}.lore-table td.col-description{max-width:300px;overflow:hidden;text-overflow:ellipsis}.lore-table-row{cursor:pointer;transition:all .2s ease;background:transparent;display:table-row!important}.lore-table-row:hover{background:rgba(var(--vsg-purple-rgb),.06)}.lore-table-row.selected{background:rgba(var(--vsg-purple-rgb),.15);box-shadow:inset 0 0 0 1px rgba(var(--vsg-purple-rgb),.3)}.col-index{width:50px;text-align:center;position:relative;display:table-cell!important;list-style:none!important}td.col-type,td.col-status,td.col-rarity,td.col-threat{display:table-cell!important;list-style:none!important}.col-index:after,.col-type:after,.col-status:after,.col-index:before,.col-type:before,.col-status:before{content:none!important;display:none!important;visibility:hidden!important}.index-badge{display:inline-flex!important;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:11px;font-weight:400;font-family:var(--font-primary);background:rgba(var(--vsg-purple-rgb),.1);color:rgba(var(--vsg-purple-rgb),.8);border:1px solid rgba(var(--vsg-purple-rgb),.2);list-style:none!important;list-style-type:none!important}.name-cell{font-weight:400;color:#fffffff2;font-size:14px;font-family:var(--font-primary)}.table-badge{display:inline-block!important;padding:4px 10px;border-radius:20px;font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:.5px;font-family:var(--font-primary);list-style:none!important;list-style-type:none!important}.table-badge.type-empire{background:rgba(var(--vsg-purple-rgb),.25);color:var(--vsg-purple);border:1px solid rgba(var(--vsg-purple-rgb),.6);box-shadow:0 0 12px rgba(var(--vsg-purple-rgb),.35)}.table-badge.type-state{background:rgba(var(--vsg-purple-rgb),.2);color:rgba(var(--vsg-purple-rgb),.95);border:1px solid rgba(var(--vsg-purple-rgb),.5);box-shadow:0 0 8px rgba(var(--vsg-purple-rgb),.25)}.table-badge.type-alliance,.table-badge.type-federation{background:rgba(var(--vsg-purple-rgb),.15);color:rgba(var(--vsg-purple-rgb),.9);border:1px solid rgba(var(--vsg-purple-rgb),.4)}.table-badge.type-organization{background:rgba(var(--vsg-purple-rgb),.1);color:rgba(var(--vsg-purple-rgb),.75);border:1px solid rgba(var(--vsg-purple-rgb),.3)}.table-badge.type-group{background:rgba(var(--vsg-purple-rgb),.06);color:rgba(var(--vsg-purple-rgb),.55);border:1px solid rgba(var(--vsg-purple-rgb),.2)}.table-badge.type-political{background:rgba(var(--vsg-purple-rgb),.18);color:rgba(var(--vsg-purple-rgb),.9);border:1px solid rgba(var(--vsg-purple-rgb),.45)}.table-badge.type-military{background:rgba(var(--vsg-purple-rgb),.15);color:rgba(var(--vsg-purple-rgb),.85);border:1px solid rgba(var(--vsg-purple-rgb),.38)}.table-badge.type-religious{background:rgba(var(--vsg-purple-rgb),.12);color:rgba(var(--vsg-purple-rgb),.78);border:1px solid rgba(var(--vsg-purple-rgb),.32)}.table-badge.type-economic{background:rgba(var(--vsg-purple-rgb),.1);color:rgba(var(--vsg-purple-rgb),.72);border:1px solid rgba(var(--vsg-purple-rgb),.28)}.table-badge.type-social{background:rgba(var(--vsg-purple-rgb),.08);color:rgba(var(--vsg-purple-rgb),.65);border:1px solid rgba(var(--vsg-purple-rgb),.24)}.table-badge.type-criminal{background:rgba(var(--vsg-purple-rgb),.06);color:rgba(var(--vsg-purple-rgb),.55);border:1px solid rgba(var(--vsg-purple-rgb),.2)}.table-badge.type-supernatural{background:rgba(var(--vsg-purple-rgb),.22);color:var(--vsg-purple);border:1px solid rgba(var(--vsg-purple-rgb),.55);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.3)}.table-badge.type-mercenary{background:rgba(var(--vsg-gold-rgb),.12);color:var(--vsg-gold);border:1px solid rgba(var(--vsg-gold-rgb),.3)}.table-badge.type-secret{background:#ffffff12;color:#ffffffa3;border:1px solid rgba(255,255,255,.16);box-shadow:0 0 8px #ffffff17}.table-badge.type-monotheistic{background:rgba(var(--vsg-gold-rgb),.12);color:var(--vsg-gold);border:1px solid rgba(var(--vsg-gold-rgb),.3)}.table-badge.type-polytheistic{background:rgba(var(--vsg-purple-rgb),.12);color:var(--vsg-info);border:1px solid rgba(var(--vsg-purple-rgb),.3)}.table-badge.type-animistic{background:rgba(var(--vsg-success-rgb),.1);color:var(--vsg-success);border:1px solid rgba(var(--vsg-success-rgb),.25)}.table-badge.type-dualistic{background:rgba(var(--vsg-error-rgb),.12);color:var(--vsg-error);border:1px solid rgba(var(--vsg-error-rgb),.3)}.table-badge.type-cult{background:rgba(var(--vsg-purple-rgb),.12);color:#ffffffc2;border:1px solid rgba(var(--vsg-purple-rgb),.3)}.table-badge.type-humanoid{background:#ffffff14;color:#ffffffb3;border:1px solid rgba(255,255,255,.2)}.table-badge.type-fey{background:rgba(var(--vsg-success-rgb),.12);color:var(--vsg-success);border:1px solid rgba(var(--vsg-success-rgb),.29);box-shadow:0 0 8px rgba(var(--vsg-success-rgb),.17)}.table-badge.type-elemental{background:rgba(var(--vsg-caution-rgb),.15);color:var(--vsg-caution);border:1px solid rgba(var(--vsg-caution-rgb),.35);box-shadow:0 0 8px rgba(var(--vsg-caution-rgb),.2)}.table-badge.type-construct{background:rgba(var(--vsg-info-rgb),.09);color:rgba(var(--vsg-info-rgb),.74);border:1px solid rgba(var(--vsg-info-rgb),.22)}.table-badge.type-draconic{background:rgba(var(--vsg-gold-rgb),.15);color:var(--vsg-gold);border:1px solid rgba(var(--vsg-gold-rgb),.35);box-shadow:0 0 8px rgba(var(--vsg-gold-rgb),.2)}.table-badge.type-undead{background:rgba(var(--vsg-error-rgb),.15);color:var(--vsg-error);border:1px solid rgba(var(--vsg-error-rgb),.35);box-shadow:0 0 8px rgba(var(--vsg-error-rgb),.2)}.table-badge.type-vampire{background:rgba(var(--vsg-error-rgb),.13);color:var(--vsg-error);border:1px solid rgba(var(--vsg-error-rgb),.29);box-shadow:0 0 8px rgba(var(--vsg-error-rgb),.18)}.table-badge.type-shapeshifter{background:rgba(var(--vsg-analyzing-rgb),.12);color:var(--vsg-analyzing);border:1px solid rgba(var(--vsg-analyzing-rgb),.3)}.table-badge.type-spirit{background:rgba(var(--vsg-info-rgb),.1);color:var(--vsg-info);border:1px solid rgba(var(--vsg-info-rgb),.25)}.table-badge.type-cyborg{background:rgba(var(--vsg-gold-rgb),.12);color:var(--vsg-gold);border:1px solid rgba(var(--vsg-gold-rgb),.3)}.table-badge.type-android{background:rgba(var(--vsg-info-rgb),.11);color:#ffffffe8;border:1px solid rgba(var(--vsg-info-rgb),.26);box-shadow:0 0 6px rgba(var(--vsg-info-rgb),.11)}.table-badge.type-clone{background:rgba(var(--vsg-analyzing-rgb),.12);color:var(--vsg-analyzing);border:1px solid rgba(var(--vsg-analyzing-rgb),.3)}.table-badge.type-alien{background:rgba(var(--vsg-success-rgb),.12);color:var(--vsg-success);border:1px solid rgba(var(--vsg-success-rgb),.3);box-shadow:0 0 8px rgba(var(--vsg-success-rgb),.15)}.table-badge.type-mutant{background:rgba(var(--vsg-caution-rgb),.12);color:var(--vsg-gold);border:1px solid rgba(var(--vsg-caution-rgb),.3)}.table-badge.type-divine{background:#ffffff26;color:#fffffffc;border:1px solid rgba(var(--vsg-gold-rgb),.6);box-shadow:0 0 16px rgba(var(--vsg-gold-rgb),.4),0 0 6px #fff3}.table-badge.type-immortal{background:rgba(var(--vsg-gold-rgb),.2);color:var(--vsg-gold);border:1px solid rgba(var(--vsg-gold-rgb),.5);box-shadow:0 0 12px rgba(var(--vsg-gold-rgb),.3)}.table-badge.type-other{background:#ffffff0d;color:#ffffff80;border:1px solid rgba(255,255,255,.15)}.table-badge.status-active{background:rgba(var(--vsg-success-rgb),.12);color:var(--vsg-success);border:1px solid rgba(var(--vsg-success-rgb),.3)}.table-badge.status-defunct{background:rgba(var(--vsg-error-rgb),.12);color:var(--vsg-error);border:1px solid rgba(var(--vsg-error-rgb),.3)}.table-badge.status-reformed{background:rgba(var(--vsg-gold-rgb),.12);color:var(--vsg-gold);border:1px solid rgba(var(--vsg-gold-rgb),.3)}.table-badge.status-alive{background:rgba(var(--vsg-success-rgb),.12);color:var(--vsg-success);border:1px solid rgba(var(--vsg-success-rgb),.3)}.table-badge.status-deceased{background:#ffffff0d;color:#fff6;border:1px solid rgba(255,255,255,.15)}.table-badge.status-unknown{background:#ffffff14;color:#ffffff80;border:1px solid rgba(255,255,255,.2)}.table-badge.status-immortal{background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple);border:1px solid rgba(var(--vsg-purple-rgb),.4);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.3)}.table-badge.status-legendary{background:rgba(var(--vsg-gold-rgb),.15);color:var(--vsg-gold);border:1px solid rgba(var(--vsg-gold-rgb),.4);box-shadow:0 0 10px rgba(var(--vsg-gold-rgb),.3)}.table-badge.status-mythical{background:rgba(var(--vsg-purple-rgb),.15);color:#ffffffc2;border:1px solid rgba(var(--vsg-purple-rgb),.4);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.3)}.table-badge.status-deity{background:rgba(var(--vsg-gold-rgb),.18);color:#fffffffc;border:1px solid rgba(var(--vsg-gold-rgb),.6);box-shadow:0 0 16px rgba(var(--vsg-gold-rgb),.4),0 0 6px #fff3}.table-badge.status-imprisoned{background:rgba(var(--vsg-error-rgb),.12);color:var(--vsg-error);border:1px solid rgba(var(--vsg-error-rgb),.35);box-shadow:0 0 8px rgba(var(--vsg-error-rgb),.2)}.table-badge.status-sealed{background:#ffffff12;color:#ffffffa3;border:1px solid rgba(255,255,255,.16);box-shadow:0 0 8px #ffffff17}.table-badge.rarity-normal{background:#ffffff12;color:var(--rarity-normal);border:1px solid rgba(255,255,255,.18)}.table-badge.rarity-mastercraft{background:rgba(var(--vsg-info-rgb),.15);color:var(--rarity-mastercraft);border:1px solid rgba(var(--vsg-info-rgb),.4)}.table-badge.rarity-magic{background:rgba(var(--vsg-success-rgb),.12);color:var(--rarity-magic);border:1px solid rgba(var(--vsg-success-rgb),.3)}.table-badge.rarity-rare{background:rgba(var(--vsg-info-rgb),.15);color:var(--rarity-rare);border:1px solid rgba(var(--vsg-info-rgb),.4)}.table-badge.rarity-epic{background:rgba(var(--vsg-purple-rgb),.15);color:var(--rarity-epic);border:1px solid rgba(var(--vsg-purple-rgb),.4)}.table-badge.rarity-legendary{background:rgba(var(--vsg-caution-rgb),.15);color:var(--rarity-legendary);border:1px solid rgba(var(--vsg-caution-rgb),.4);box-shadow:0 0 10px rgba(var(--vsg-caution-rgb),.3)}.table-badge.rarity-artifact{background:rgba(var(--vsg-error-rgb),.15);color:var(--rarity-artifact);border:1px solid rgba(var(--vsg-error-rgb),.4);box-shadow:0 0 12px rgba(var(--vsg-error-rgb),.35)}.table-badge.scope-world{background:rgba(var(--vsg-purple-rgb),.2);color:var(--vsg-purple);border:1px solid rgba(var(--vsg-purple-rgb),.5);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.3)}.table-badge.scope-national{background:rgba(var(--vsg-purple-rgb),.12);color:rgba(var(--vsg-purple-rgb),.85);border:1px solid rgba(var(--vsg-purple-rgb),.35)}.table-badge.scope-local{background:rgba(var(--vsg-purple-rgb),.06);color:rgba(var(--vsg-purple-rgb),.55);border:1px solid rgba(var(--vsg-purple-rgb),.2)}.table-badge.scope-party{background:rgba(var(--vsg-info-rgb),.15);color:rgba(var(--vsg-info-rgb),.9);border:1px solid rgba(var(--vsg-info-rgb),.4)}.table-badge.threat-minion{background:#ffffff0d;color:#fff6;border:1px solid rgba(255,255,255,.15)}.table-badge.threat-standard{background:#ffffff14;color:#fff9;border:1px solid rgba(255,255,255,.2)}.table-badge.threat-elite{background:rgba(var(--vsg-info-rgb),.12);color:var(--vsg-info);border:1px solid rgba(var(--vsg-info-rgb),.3)}.table-badge.threat-boss{background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple);border:1px solid rgba(var(--vsg-purple-rgb),.4)}.table-badge.threat-legendary{background:rgba(var(--vsg-error-rgb),.15);color:var(--vsg-error);border:1px solid rgba(var(--vsg-error-rgb),.4);box-shadow:0 0 10px rgba(var(--vsg-error-rgb),.3)}.table-badge.type-beast{background:rgba(var(--vsg-gold-rgb),.12);color:var(--vsg-gold);border:1px solid rgba(var(--vsg-gold-rgb),.3)}.table-badge.type-undead{background:#ffffff14;color:#ffffffa3;border:1px solid rgba(255,255,255,.19)}.table-badge.type-demon,.table-badge.type-fiend{background:rgba(var(--vsg-error-rgb),.12);color:var(--vsg-error);border:1px solid rgba(var(--vsg-error-rgb),.3)}.table-badge.type-dragon{background:rgba(var(--vsg-gold-rgb),.15);color:var(--vsg-gold);border:1px solid rgba(var(--vsg-gold-rgb),.4);box-shadow:0 0 8px rgba(var(--vsg-gold-rgb),.2)}.table-badge.type-elemental{background:rgba(var(--vsg-info-rgb),.12);color:var(--vsg-info);border:1px solid rgba(var(--vsg-info-rgb),.3)}.table-badge.type-construct{background:#ffffff14;color:#ffffffd4;border:1px solid rgba(255,255,255,.19)}.table-badge.type-aberration{background:rgba(var(--vsg-purple-rgb),.12);color:var(--vsg-purple);border:1px solid rgba(var(--vsg-purple-rgb),.3)}.table-badge.type-celestial{background:rgba(var(--vsg-gold-rgb),.12);color:var(--vsg-gold);border:1px solid rgba(var(--vsg-gold-rgb),.3)}.table-badge.type-fey{background:rgba(var(--vsg-success-rgb),.1);color:var(--vsg-success);border:1px solid rgba(var(--vsg-success-rgb),.25)}.table-badge.type-giant{background:rgba(var(--vsg-caution-rgb),.08);color:var(--vsg-gold);border:1px solid rgba(var(--vsg-caution-rgb),.21)}.table-badge.type-ooze{background:rgba(var(--vsg-success-rgb),.1);color:var(--vsg-success);border:1px solid rgba(var(--vsg-success-rgb),.25)}.table-badge.type-plant{background:rgba(var(--vsg-success-rgb),.09);color:var(--vsg-success);border:1px solid rgba(var(--vsg-success-rgb),.23)}.table-badge.type-monstrosity{background:rgba(var(--vsg-purple-rgb),.12);color:var(--vsg-info);border:1px solid rgba(var(--vsg-purple-rgb),.3)}.table-badge.type-plane{background:rgba(var(--vsg-purple-rgb),.35);color:#ffffffc4;border:1px solid rgba(var(--vsg-purple-rgb),.7);box-shadow:0 0 16px rgba(var(--vsg-purple-rgb),.45),0 0 4px #ffffff26}.table-badge.type-world{background:rgba(var(--vsg-purple-rgb),.3);color:var(--vsg-purple);border:1px solid rgba(var(--vsg-purple-rgb),.65);box-shadow:0 0 14px rgba(var(--vsg-purple-rgb),.4)}.table-badge.type-continent{background:rgba(var(--vsg-purple-rgb),.25);color:var(--vsg-purple);border:1px solid rgba(var(--vsg-purple-rgb),.6);box-shadow:0 0 12px rgba(var(--vsg-purple-rgb),.35)}.table-badge.type-country{background:rgba(var(--vsg-purple-rgb),.2);color:rgba(var(--vsg-purple-rgb),.95);border:1px solid rgba(var(--vsg-purple-rgb),.5);box-shadow:0 0 8px rgba(var(--vsg-purple-rgb),.25)}.table-badge.type-region{background:rgba(var(--vsg-purple-rgb),.15);color:rgba(var(--vsg-purple-rgb),.9);border:1px solid rgba(var(--vsg-purple-rgb),.4)}.table-badge.type-city{background:rgba(var(--vsg-purple-rgb),.12);color:rgba(var(--vsg-purple-rgb),.8);border:1px solid rgba(var(--vsg-purple-rgb),.35)}.table-badge.type-area{background:rgba(var(--vsg-purple-rgb),.09);color:rgba(var(--vsg-purple-rgb),.7);border:1px solid rgba(var(--vsg-purple-rgb),.28)}.table-badge.type-location{background:rgba(var(--vsg-purple-rgb),.06);color:rgba(var(--vsg-purple-rgb),.6);border:1px solid rgba(var(--vsg-purple-rgb),.22)}.table-badge.type-site{background:rgba(var(--vsg-purple-rgb),.04);color:rgba(var(--vsg-purple-rgb),.5);border:1px solid rgba(var(--vsg-purple-rgb),.15)}.table-badge.type-landmark{background:rgba(var(--vsg-purple-rgb),.06);color:rgba(var(--vsg-purple-rgb),.6);border:1px solid rgba(var(--vsg-purple-rgb),.22)}.truncated-text{color:#fff9;font-size:12px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.dim-text{color:#ffffff4d}.array-preview{color:#ffffffb3;font-size:13px}.array-preview .more-count{color:rgba(var(--vsg-purple-rgb),.7);font-size:11px;margin-left:4px}:where(.lore-table-container,.lore-table-empty) .event-title-cell{display:flex;flex-direction:column;gap:4px}.event-title-row{display:flex;align-items:center;gap:8px}:where(.lore-table-container,.lore-table-empty) .event-description-preview{font-size:12px;color:#ffffff80;line-height:1.4}:where(.lore-table-container,.lore-table-empty) .date-cell{display:flex;flex-direction:column;gap:2px}:where(.lore-table-container,.lore-table-empty) .in-story-date{color:#ffffffe6;font-weight:400}.related-cell{display:flex;flex-direction:column;gap:2px}.link-count{font-size:11px;color:#fff6}.session-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;border-radius:12px;font-size:11px;font-weight:400;background:rgba(var(--vsg-gold-rgb),.12);color:var(--vsg-gold);border:1px solid rgba(var(--vsg-gold-rgb),.3)}.lore-table-container::-webkit-scrollbar{width:8px;height:8px}.lore-table-container::-webkit-scrollbar-track{background:#0000004d;border-radius:4px}.lore-table-container::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.2);border-radius:4px}.lore-table-container::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.3)}@media (max-width: 1200px){.lore-table th,.lore-table td{padding:12px}.col-description{display:none}}@media (max-width: 600px){.lore-table{font-size:12px}.lore-table th,.lore-table td{padding:10px 8px}.name-cell{font-size:13px}.table-badge{font-size:9px;padding:3px 8px}}.col-reorder{width:60px;text-align:center}.reorder-buttons{display:flex;gap:2px;justify-content:center;align-items:center}.reorder-buttons .btn-icon-xs{width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:3px;color:rgba(var(--vsg-purple-rgb),.5);cursor:pointer;transition:all .2s;font-size:.75rem}.reorder-buttons .btn-icon-xs:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.1);color:var(--vsg-purple);border-color:rgba(var(--vsg-purple-rgb),.3)}.reorder-buttons .btn-icon-xs:disabled{opacity:.2;cursor:not-allowed}.world-lore-tab{display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px;min-height:400px}.world-lore-tab .lore-intro,.world-lore-tab .lore-entries,.world-lore-tab .lore-loading,.world-lore-tab .lore-table-wrapper{width:100%;align-self:stretch}.lore-loading{display:flex;align-items:center;justify-content:center;min-height:300px}.lore-error{text-align:center;padding:40px 20px;color:rgba(var(--vsg-error-rgb),.8)}.lore-error p{font-family:var(--font-primary);font-size:14px;margin:0}.lore-intro{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px}.lore-intro p{color:rgba(var(--vsg-purple-rgb),.8);font-size:14px;margin:0;font-style:normal}.lore-stats{display:flex;align-items:center;gap:16px}.entries-count{color:var(--vsg-purple);font-family:var(--font-primary);font-size:13px;font-weight:400}.games-count{color:rgba(var(--vsg-purple-rgb),.6);font-size:12px}.lore-table-wrapper{flex:1;overflow:auto}.world-lore-detail-panel{position:fixed;top:0;right:0;width:400px;height:calc(100 * var(--vh-fit));background:rgba(var(--vsg-surface-rgb),.98);border-left:1px solid rgba(var(--vsg-purple-rgb),.3);box-shadow:-4px 0 20px #00000080;z-index:100;display:flex;flex-direction:column;animation:slideInRight .3s ease}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}:where(.world-lore-tab) .detail-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}:where(.world-lore-tab) .detail-content{flex:1;overflow-y:auto;display:flex;flex-direction:column}.detail-meta{display:flex;flex-wrap:wrap;gap:10px}.detail-meta .source-badge{padding:6px 12px;background:rgba(var(--vsg-purple-rgb),.15);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:var(--vsg-purple);font-size:12px;font-weight:400}.detail-meta .category-badge{padding:6px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#ffffffb3;font-size:12px;text-transform:capitalize}:where(.world-lore-tab) .detail-description p{line-height:1.6}.detail-full-content{padding:16px;background:#0003;border-radius:8px}.detail-full-content p{color:#ffffffb3;font-size:13px;line-height:1.7;margin:0;white-space:pre-wrap}.canon-badge-approved{color:var(--vsg-success);background:rgba(var(--vsg-success-rgb),.2);border:1px solid rgba(var(--vsg-success-rgb),.3)}.canon-badge-pending{color:rgba(var(--vsg-purple-rgb),.6);background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.2)}.world-lore-tab .lore-table tbody tr.lore-entry-pending{opacity:.6;border-left:2px solid rgba(var(--vsg-purple-rgb),.3)}.world-lore-tab .lore-table tbody tr.lore-entry-canon{border-left:2px solid rgba(var(--vsg-success-rgb),.5)}.canon-batch-actions{display:flex;flex-direction:column;gap:6px;width:100%}.game-source-header{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:8px}.game-source-name{font-family:var(--font-primary);font-size:13px;color:rgba(var(--vsg-purple-rgb),.8);text-transform:uppercase;letter-spacing:1px}.game-source-actions{display:flex;gap:8px}@media (max-width: 600px){.world-lore-tab{padding:16px}.lore-intro{flex-direction:column;gap:12px;text-align:center}.lore-stats{flex-direction:column;gap:8px}:where(.world-lore-tab) .world-lore-detail-panel{width:100%}}.rule-code-section{margin:0 0 20px;padding:12px 14px;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;background:rgba(var(--vsg-purple-rgb),.06)}.rule-code-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.rule-code-title{font-family:var(--font-primary);color:var(--vsg-purple);font-size:15px;font-weight:300;letter-spacing:.6px}.rule-code-plan{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:4px 14px;margin:0;font-family:var(--font-primary);font-size:13px}.rule-code-plan dt{color:rgba(var(--vsg-purple-rgb),.85);font-weight:400}.rule-code-plan dd{margin:0;color:#ffffffd9;min-width:0;overflow-wrap:anywhere}.rule-code-list{list-style:none;margin:0;padding:0}.rule-code-list li{position:relative;padding-left:12px}.rule-code-list li:before{content:"";position:absolute;left:0;top:.6em;width:5px;height:5px;border-radius:50%;background:rgba(var(--vsg-purple-rgb),.7)}.rule-code-unresolved li{color:#fff9}.rule-code-empty{margin:0;font-family:var(--font-primary);color:#fff9;font-size:13px}.rule-code-gm{margin-top:12px;padding-top:10px;border-top:1px solid rgba(var(--vsg-purple-rgb),.2);display:flex;flex-direction:column;gap:8px}.rule-code-armed-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.rule-code-label{font-family:var(--font-primary);color:rgba(var(--vsg-purple-rgb),.85);font-size:12px;letter-spacing:.4px}.rule-code-notes{width:100%;box-sizing:border-box;font-family:var(--font-primary);font-size:13px;color:#ffffffe6;background:#00000040;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;padding:8px 10px;resize:vertical}.rule-code-notes:focus{outline:none;border-color:rgba(var(--vsg-purple-rgb),.7);box-shadow:0 0 8px rgba(var(--vsg-purple-rgb),.25)}.rule-code-actions{display:flex;flex-wrap:wrap;gap:8px}.rule-code-message{margin:0;font-family:var(--font-primary);color:#ffffffbf;font-size:12px}.mechanic-review-panel{border:1px solid rgba(var(--vsg-purple-rgb),.35);background:rgba(var(--vsg-purple-rgb),.08);border-radius:8px;padding:16px 18px;margin:16px 0}.mechanic-review-title{font-family:var(--font-primary);color:var(--vsg-purple);font-size:18px;font-weight:300;letter-spacing:.6px;margin:0 0 6px}.mechanic-review-hint{font-family:var(--font-primary);color:#fff9;font-size:13px;font-weight:400;margin:0 0 12px}.mechanic-review-error{font-family:var(--font-primary);color:#ffffffbf;font-size:13px;margin:0 0 12px}.mechanic-review-subtitle{font-family:var(--font-primary);color:rgba(var(--vsg-purple-rgb),.85);font-size:14px;font-weight:400;letter-spacing:.4px;margin:12px 0 6px}.mechanic-review-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}:where(.mechanic-review-panel) .mechanic-review-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:8px 16px;padding:10px 12px;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:6px;background:#0000002e}.mechanic-review-row.is-reverted{opacity:.55}:where(.mechanic-review-panel) .mechanic-review-main{flex:1 1 320px;min-width:0;font-family:var(--font-primary);color:#ffffffd9;font-size:14px;font-weight:400;line-height:1.5}:where(.mechanic-review-panel) .mechanic-review-rule{color:var(--vsg-purple)}:where(.mechanic-review-panel) .mechanic-review-meta{display:block;color:#ffffff8c;font-size:12px}.mechanic-review-lines{list-style:none;margin:6px 0 0;padding:0;color:#ffffffbf;font-size:13px}.mechanic-review-lines li{padding-left:12px;position:relative}.mechanic-review-lines li:before{content:"";position:absolute;left:0;top:.65em;width:5px;height:5px;border-radius:50%;background:rgba(var(--vsg-purple-rgb),.7)}.mechanic-review-quote{color:#ffffff8c;font-size:12px;margin-top:4px}:where(.mechanic-review-panel) .mechanic-review-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.mechanic-review-picker{display:flex;flex-direction:column;gap:6px;min-width:220px}.rule-detail-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;z-index:99;cursor:pointer;animation:fadeIn .2s ease}.rule-detail-panel{position:fixed;right:0;top:0;bottom:0;width:450px;max-width:calc(90 * var(--vw-fit));background:transparent;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-left:1px solid rgba(var(--vsg-purple-rgb),.2);display:flex;flex-direction:column;z-index:100;animation:slideIn .2s ease;box-shadow:-4px 0 20px #00000080}.rule-detail-panel .detail-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15);background:#0000004d}.rule-detail-panel .detail-title{margin:0;font-size:20px;font-weight:400;font-family:var(--font-primary);color:#fffffff2}.rule-detail-panel .close-btn{background:none;border:none;color:#ffffff80;font-size:28px;cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.rule-detail-panel .close-btn:hover{color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.1)}.rule-detail-panel .detail-content{flex:1;overflow-y:auto;padding:24px}.rule-detail-panel .detail-source{font-size:12px;color:rgba(var(--vsg-purple-rgb),.7);margin-bottom:16px;padding:8px 12px;background:rgba(var(--vsg-purple-rgb),.08);border-radius:6px;border-left:3px solid rgba(var(--vsg-purple-rgb),.4)}.rule-detail-panel .detail-description{margin-bottom:24px}.rule-detail-panel .detail-description p{margin:0;color:#ffffffd9;line-height:1.7;font-size:14px;white-space:pre-wrap}.rule-detail-panel .detail-metadata{display:flex;flex-direction:column;gap:12px;padding:18px;background:#0000004d;border-radius:12px;border:1px solid rgba(var(--vsg-purple-rgb),.1)}.rule-detail-panel .metadata-row{display:flex;gap:12px}.rule-detail-panel .metadata-label{color:rgba(var(--vsg-purple-rgb),.8);font-size:11px;text-transform:uppercase;letter-spacing:.5px;font-family:var(--font-primary);min-width:110px;flex-shrink:0}.rule-detail-panel .metadata-value{color:#ffffffd9;font-size:13px}.rule-detail-panel .detail-actions{display:flex;align-items:center;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid rgba(var(--vsg-purple-rgb),.1)}.rule-detail-panel .detail-content::-webkit-scrollbar{width:8px}.rule-detail-panel .detail-content::-webkit-scrollbar-track{background:#0000004d;border-radius:4px}.rule-detail-panel .detail-content::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.2);border-radius:4px}.rule-detail-panel .detail-content::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.3)}@media (max-width: 600px){.rule-detail-panel{width:100%}}.world-rules-tab{display:flex;flex-direction:column;gap:16px;padding:20px;min-height:400px}:where(.world-rules-tab) .rules-loading{display:flex;align-items:center;justify-content:center;min-height:300px}.rules-error{text-align:center;padding:40px 20px;color:rgba(var(--vsg-error-rgb),.8)}.rules-error p{font-family:var(--font-primary);font-size:14px;margin:0}.world-rules-tab .source-game-badge{display:inline-block;padding:4px 10px;background:rgba(var(--vsg-purple-rgb),.15);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;color:var(--vsg-purple);font-size:11px;font-weight:400;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.world-rules-tab .source-game-badge:hover{background:rgba(var(--vsg-purple-rgb),.25);border-color:rgba(var(--vsg-purple-rgb),.5)}@media (max-width: 600px){.world-rules-tab{padding:16px}}.cross-entity-view{padding:1rem}.cross-entity-header{padding:.5rem 1rem;margin-bottom:1rem;background:rgba(var(--vsg-purple-rgb),.08);border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:6px;color:#fff9;font-size:.85rem;font-family:var(--font-primary);font-weight:400}.cross-entity-empty{padding:2rem;text-align:center;color:#fff6;font-size:.9rem;font-family:var(--font-primary);font-weight:400}.world-tab-placeholder,.character-sheets-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;gap:16px}.world-tab-placeholder h2{font-family:var(--font-primary);font-size:1.5rem;color:var(--vsg-purple);margin:0}.world-tab-placeholder p{font-family:var(--font-primary);font-size:1rem;color:#fff9;margin:0}.world-tab-placeholder .sub-tab-info,.world-tab-placeholder .category-info{font-size:.9rem;color:rgba(var(--vsg-purple-rgb),.7);padding:8px 16px;background:rgba(var(--vsg-purple-rgb),.1);border-radius:6px}.violation-review-modal{position:relative;background:transparent;border-radius:12px;width:90%;max-width:700px;max-height:calc(85 * var(--vh-fit));overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(var(--vsg-magenta-rgb),.3);border:1px solid rgba(var(--vsg-magenta-rgb),.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.violation-review-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-magenta-rgb),.2);background:rgba(var(--vsg-magenta-rgb),.08)}.violation-review-modal .modal-title{font-family:var(--font-primary);font-size:1.25rem;font-weight:400;color:var(--vsg-magenta);margin:0;text-shadow:0 0 20px rgba(var(--vsg-magenta-rgb),.5)}.violation-review-modal .modal-close{background:transparent;border:none;color:#fff9;font-size:28px;font-weight:300;cursor:pointer;padding:4px 8px;transition:all .2s ease;line-height:1}.violation-review-modal .modal-close:hover{color:var(--vsg-magenta);transform:scale(1.1)}.ya-status-banner{display:flex;align-items:center;gap:16px;padding:16px 24px;margin:0}.ya-status-banner.status-locked{background:rgba(var(--vsg-magenta-rgb),.1);border-bottom:1px solid rgba(var(--vsg-magenta-rgb),.2)}.ya-status-banner.status-ok{background:rgba(var(--vsg-success-rgb),.1);border-bottom:1px solid rgba(var(--vsg-success-rgb),.2)}.ya-status-banner .status-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-primary);font-size:20px;font-weight:400;flex-shrink:0}.status-locked .status-icon{background:rgba(var(--vsg-magenta-rgb),.2);border:2px solid var(--vsg-magenta);color:var(--vsg-magenta)}.status-ok .status-icon{background:rgba(var(--vsg-success-rgb),.2);border:2px solid var(--vsg-success);color:var(--vsg-success)}.ya-status-banner .status-content{flex:1}.ya-status-banner .status-title{font-family:var(--font-primary);font-size:1rem;font-weight:400;text-transform:uppercase;letter-spacing:1px}.status-locked .status-title{color:var(--vsg-magenta)}.status-ok .status-title{color:var(--vsg-success)}.ya-status-banner .status-detail{font-size:.85rem;color:#fff9;margin-top:4px}.ya-status-banner .status-reason{font-size:.9rem;color:#fffc;margin-top:8px}.violation-summary{display:flex;flex-wrap:wrap;gap:16px;padding:16px 24px;background:#0000004d;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.1)}.violation-summary .summary-item{display:flex;align-items:center;gap:8px}.violation-summary .summary-label{font-family:var(--font-primary);font-size:.8rem;color:rgba(var(--vsg-purple-rgb),.7);text-transform:uppercase;letter-spacing:.5px}.violation-summary .summary-value{font-family:var(--font-primary);font-size:1rem;font-weight:400;color:#ffffffe6}.summary-block .summary-value{color:var(--vsg-magenta)}.summary-warn .summary-value{color:var(--vsg-gold)}.summary-scan .summary-value{color:rgba(var(--vsg-purple-rgb),.8);font-size:.85rem;font-weight:400}.violations-content{overflow-y:auto;padding:16px 24px;height:400px}.violations-content::-webkit-scrollbar{width:8px}.violations-content::-webkit-scrollbar-track{background:rgba(var(--vsg-purple-rgb),.05);border-radius:4px}.violations-content::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.3);border-radius:4px}.violations-content::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.5)}.no-violations{display:flex;align-items:center;justify-content:center;height:150px;font-family:var(--font-primary);font-size:1rem;color:var(--vsg-success)}.violations-list{display:flex;flex-direction:column;gap:16px}.violation-item{background:#0006;border:1px solid rgba(var(--vsg-magenta-rgb),.2);border-radius:8px;padding:16px;transition:all .2s ease}.violation-item:hover{border-color:rgba(var(--vsg-magenta-rgb),.4);background:#00000080}.violation-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.violation-number{width:24px;height:24px;border-radius:50%;background:rgba(var(--vsg-magenta-rgb),.2);border:1px solid rgba(var(--vsg-magenta-rgb),.4);color:var(--vsg-magenta);font-family:var(--font-primary);font-size:.75rem;font-weight:400;display:flex;align-items:center;justify-content:center}.violation-severity-badge{padding:4px 10px;border-radius:20px;font-family:var(--font-primary);font-size:.7rem;font-weight:400;text-transform:uppercase;letter-spacing:.5px}.severity-block{background:rgba(var(--vsg-magenta-rgb),.2);color:var(--vsg-magenta);border:1px solid rgba(var(--vsg-magenta-rgb),.4)}.severity-warn{background:rgba(var(--vsg-gold-rgb),.2);color:var(--vsg-gold);border:1px solid rgba(var(--vsg-gold-rgb),.4)}.violation-category-badge{padding:4px 10px;border-radius:20px;background:rgba(var(--vsg-purple-rgb),.15);color:rgba(var(--vsg-purple-rgb),.8);border:1px solid rgba(var(--vsg-purple-rgb),.3);font-family:var(--font-primary);font-size:.7rem;font-weight:400;text-transform:uppercase;letter-spacing:.5px}.violation-location{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:.85rem}.violation-location .location-label{color:rgba(var(--vsg-purple-rgb),.6);font-family:var(--font-primary);text-transform:uppercase;letter-spacing:.5px}.violation-location .location-value{color:var(--vsg-purple);font-weight:400}.violation-description{color:#ffffffe6;font-size:.95rem;line-height:1.5;margin-bottom:12px}.violation-quote{margin-bottom:12px}.violation-quote .quote-label{display:block;color:rgba(var(--vsg-purple-rgb),.6);font-family:var(--font-primary);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.violation-quote blockquote{margin:0;padding:10px 14px;background:#0000004d;border-left:3px solid rgba(var(--vsg-magenta-rgb),.5);border-radius:0 6px 6px 0;color:#ffffffb3;font-style:normal;font-size:.9rem;line-height:1.4}.violation-recommendation{display:flex;flex-direction:column;gap:4px}.violation-recommendation .recommendation-label{color:rgba(var(--vsg-magenta-rgb),.7);font-family:var(--font-primary);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.violation-recommendation .recommendation-value{color:var(--vsg-magenta);font-size:.9rem;line-height:1.4}.violation-review-modal .modal-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid rgba(var(--vsg-magenta-rgb),.2);background:rgba(var(--vsg-magenta-rgb),.05);gap:16px}.footer-actions-left{display:flex;gap:12px;flex:1}.footer-actions{display:flex;gap:12px}.violation-image-preview{position:relative;margin:12px 0;display:inline-block}.violation-thumbnail{max-width:200px;max-height:150px;border-radius:8px;border:2px solid rgba(var(--vsg-magenta-rgb),.4);object-fit:cover;cursor:pointer;transition:all .3s ease}.violation-thumbnail.blurred{filter:blur(20px)}.violation-thumbnail:hover{border-color:rgba(var(--vsg-magenta-rgb),.8);box-shadow:0 4px 12px rgba(var(--vsg-magenta-rgb),.3)}.violation-image-preview .reveal-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#00000080;border-radius:8px;cursor:pointer;transition:all .2s ease}.violation-image-preview .reveal-overlay:hover{background:#000000b3}.violation-image-preview .reveal-icon{font-size:24px;margin-bottom:4px}.violation-image-preview .reveal-hint{font-family:var(--font-primary);font-size:.75rem;color:#ffffffe6;text-transform:uppercase;letter-spacing:.5px;text-align:center}.violation-type-badge{padding:3px 8px;border-radius:12px;font-family:var(--font-primary);font-size:.65rem;font-weight:400;text-transform:uppercase;letter-spacing:.5px}.violation-type-badge.type-image{background:rgba(var(--vsg-purple-rgb),.2);color:var(--vsg-purple);border:1px solid rgba(var(--vsg-purple-rgb),.4)}.violation-type-badge.type-text{background:rgba(var(--vsg-purple-rgb),.15);color:rgba(var(--vsg-purple-rgb),.8);border:1px solid rgba(var(--vsg-purple-rgb),.3)}.violation-modal-header{display:flex;justify-content:space-between;align-items:center}.violation-modal-header .header-controls{display:flex;align-items:center;gap:16px}.dreamer-dismiss-button{width:32px;height:32px;border-radius:6px;border:2px solid var(--vsg-magenta);background:rgba(var(--vsg-magenta-rgb),.15);color:var(--vsg-magenta);font-size:18px;font-weight:400;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.dreamer-dismiss-button:hover:not(:disabled){background:rgba(var(--vsg-magenta-rgb),.3);box-shadow:0 0 15px rgba(var(--vsg-magenta-rgb),.5);transform:scale(1.05)}.dreamer-dismiss-button:disabled{opacity:.5;cursor:not-allowed}.transgressor-badge{background:rgba(var(--vsg-magenta-rgb),.08);border:1px solid rgba(var(--vsg-magenta-rgb),.25);border-radius:8px;padding:10px 14px;margin:10px 0;display:flex;flex-direction:column;gap:4px}.transgressor-badge.repeat-offender{background:rgba(var(--vsg-error-rgb),.1);border-color:rgba(var(--vsg-error-rgb),.4)}.transgressor-badge .transgressor-label{font-family:var(--font-primary);font-size:.65rem;color:rgba(var(--vsg-magenta-rgb),.6);text-transform:uppercase;letter-spacing:1px}.transgressor-badge .transgressor-name{font-family:var(--font-primary);font-size:1rem;font-weight:400;color:var(--vsg-magenta)}.repeat-offender .transgressor-name{color:var(--vsg-error)}.transgressor-badge .transgressor-count{font-size:.8rem;color:#ffffffb3}.repeat-offender .transgressor-count{color:var(--vsg-error);font-weight:400}.violations-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:200px;color:rgba(var(--vsg-purple-rgb),.7)}.violator-profile-view{padding:8px 0;display:flex;flex-direction:column;gap:24px}.violator-loading,.violator-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:200px;color:rgba(var(--vsg-magenta-rgb),.7)}:where(.violation-review-modal) .violator-header{display:flex;align-items:center;gap:16px}.violator-avatar{width:64px;height:64px;border-radius:50%;background:rgba(var(--vsg-magenta-rgb),.15);border:2px solid var(--vsg-magenta);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.violator-avatar .avatar-image{width:100%;height:100%;object-fit:cover}.violator-avatar .avatar-initial{font-family:var(--font-primary);font-size:24px;font-weight:400;color:var(--vsg-magenta)}:where(.violation-review-modal) .violator-info{display:flex;flex-direction:column;gap:4px}:where(.violation-review-modal) .violator-name{font-family:var(--font-primary);font-size:1.25rem;font-weight:400;color:var(--vsg-magenta);margin:0}.violator-username{font-size:.9rem;color:#ffffff80}:where(.violation-review-modal) .violator-stats{display:flex;gap:16px}:where(.violation-review-modal) .violator-stats .stat-item{flex:1;padding:16px;background:#0000004d;border-radius:12px;text-align:center}:where(.violation-review-modal) .violator-stats .stat-item.stat-total{border:1px solid rgba(var(--vsg-magenta-rgb),.3)}:where(.violation-review-modal) .violator-stats .stat-item.stat-games{border:1px solid rgba(var(--vsg-purple-rgb),.3)}:where(.violation-review-modal) .violator-stats .stat-value{display:block;font-family:var(--font-primary);font-size:2rem;font-weight:400;color:var(--vsg-magenta)}:where(.violation-review-modal) .stat-games .stat-value{color:var(--vsg-purple)}:where(.violation-review-modal) .violator-stats .stat-label{font-family:var(--font-primary);font-size:.7rem;color:#fff9;text-transform:uppercase;letter-spacing:.5px;margin-top:4px}:where(.violation-review-modal) .violator-history{display:flex;flex-direction:column;gap:12px}.history-list{display:flex;flex-direction:column;gap:8px}.history-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:rgba(var(--vsg-purple-rgb),.03);border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:left;width:100%;font-family:inherit;font-size:inherit;color:inherit}.history-item:hover{background:rgba(var(--vsg-purple-rgb),.08);border-color:rgba(var(--vsg-purple-rgb),.3);transform:translate(4px)}:where(.violation-review-modal) .history-game{flex:1;font-weight:400;color:#ffffffe6}.history-category{padding:4px 8px;background:rgba(var(--vsg-magenta-rgb),.15);border-radius:4px;font-family:var(--font-primary);font-size:.65rem;color:var(--vsg-magenta);text-transform:uppercase;letter-spacing:.5px}:where(.violation-review-modal) .history-date{font-size:.85rem;color:#ffffff80}:where(.violation-review-modal) .history-entry{margin-bottom:8px}:where(.violation-review-modal) .history-entry:last-child{margin-bottom:0}:where(.violation-review-modal) .history-entry.expanded .history-item{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-color:transparent}:where(.violation-review-modal) .history-details{background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.15);border-top:none;border-radius:0 0 8px 8px;padding:12px 16px}:where(.violation-review-modal) .history-detail-row{display:flex;gap:8px;margin-bottom:8px}:where(.violation-review-modal) .history-detail-row:last-child{margin-bottom:0}:where(.violation-review-modal) .detail-label{font-size:.8rem;color:#ffffff80;text-transform:uppercase;letter-spacing:.5px;min-width:80px}:where(.violation-review-modal) .detail-value{flex:1}@media (max-width: 600px){.violation-review-modal{max-width:95%}.violation-summary{flex-direction:column;gap:8px}.violation-review-modal .modal-footer{flex-direction:column;gap:12px}.footer-actions-left,.footer-actions{width:100%;justify-content:center}.violation-modal-header .header-controls{gap:8px}:where(.violation-review-modal) .violator-stats{flex-direction:column;gap:12px}.history-item{flex-wrap:wrap}:where(.violation-review-modal) .history-game{width:100%;margin-bottom:4px}}.ya-violation-banner{display:flex;align-items:center;gap:16px;padding:14px 20px;background:linear-gradient(135deg,rgba(var(--vsg-magenta-rgb),.15),rgba(var(--vsg-magenta-rgb),.08));border:1px solid rgba(var(--vsg-magenta-rgb),.4);border-radius:8px;margin-bottom:16px;box-shadow:0 4px 20px rgba(var(--vsg-magenta-rgb),.2);--glow-peak: 0 4px 30px rgba(var(--vsg-magenta-rgb), .35);--glow-period: 3s}.ya-violation-banner .banner-icon{width:36px;height:36px;border-radius:50%;background:rgba(var(--vsg-magenta-rgb),.2);border:2px solid var(--vsg-magenta);color:var(--vsg-magenta);font-family:var(--font-primary);font-size:18px;font-weight:400;display:flex;align-items:center;justify-content:center;flex-shrink:0;animation:iconPulse 2s ease-in-out infinite}@keyframes iconPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.ya-violation-banner .banner-content{flex:1;min-width:0}.ya-violation-banner .banner-title{font-family:var(--font-primary);font-size:1rem;font-weight:400;color:var(--vsg-magenta);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;text-shadow:0 0 15px rgba(var(--vsg-magenta-rgb),.4)}.ya-violation-banner .banner-message{font-size:.9rem;color:#fffc;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ya-violation-banner .violation-count{padding:2px 8px;border-radius:12px;font-family:var(--font-primary);font-size:.75rem;font-weight:400}.ya-violation-banner .block-count{background:rgba(var(--vsg-magenta-rgb),.2);color:var(--vsg-magenta);border:1px solid rgba(var(--vsg-magenta-rgb),.4)}.ya-violation-banner .warn-count{background:rgba(var(--vsg-gold-rgb),.2);color:var(--vsg-gold);border:1px solid rgba(var(--vsg-gold-rgb),.4)}@media (max-width: 600px){.ya-violation-banner{flex-direction:column;text-align:center;padding:16px}.ya-violation-banner .banner-content{width:100%}.ya-violation-banner .banner-message{justify-content:center}}.level-access-icon{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:6px;background:transparent;color:currentColor;transition:all .2s ease}.level-access-icon-small{width:20px;height:20px}.level-access-icon-medium{width:28px;height:28px}.level-access-icon-small .level-access-svg{width:16px;height:16px}.level-access-icon-medium .level-access-svg{width:20px;height:20px}.level-access-icon--everyone{color:var(--vsg-magenta)}.level-access-icon.readonly{cursor:default}.level-access-icon.clickable{cursor:pointer}.level-access-icon.clickable:hover{background:rgba(var(--vsg-purple-rgb),.15);transform:scale(1.1)}.level-access-icon.clickable:active{transform:scale(.95)}.unfetch-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;min-width:32px;min-height:32px;background:#000c;border:1px solid rgba(var(--vsg-magenta-rgb),.5);border-radius:6px;color:var(--vsg-magenta);cursor:pointer;transition:all .2s ease;flex-shrink:0;padding:0}.unfetch-btn:hover{background:#000000f2;border-color:var(--vsg-magenta);color:var(--vsg-magenta);box-shadow:0 0 10px rgba(var(--vsg-magenta-rgb),.4);transform:scale(1.05)}.unfetch-btn:active{transform:scale(.95)}.unfetch-btn svg{flex-shrink:0}.session-status-indicators{display:flex;align-items:center;gap:6px;flex-shrink:0}.session-status-badge{display:inline-block;padding:1px 8px;border-radius:10px;font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.3px}.session-status-badge.open{color:var(--vsg-success);background:rgba(var(--vsg-success-rgb),.1);border:1px solid rgba(var(--vsg-success-rgb),.3)}.session-status-badge.closed{color:var(--vsg-error);background:rgba(var(--vsg-error-rgb),.1);border:1px solid rgba(var(--vsg-error-rgb),.3)}.session-status-badge.restricted{color:var(--vsg-magenta);background:rgba(var(--vsg-magenta-rgb),.1);border:1px solid rgba(var(--vsg-magenta-rgb),.3)}button.session-status-badge.clickable{cursor:pointer;font-family:inherit;font-size:11px;font-weight:400;line-height:normal;margin:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:transform .15s ease,background .15s ease}button.session-status-badge.clickable:hover{transform:scale(1.05);filter:brightness(1.15)}.session-mvp-name{font-size:11px;font-weight:400}.session-mvp-name .mvp-label{color:rgba(var(--vsg-purple-rgb),.7)}.session-mvp-name .mvp-character-name{color:var(--vsg-magenta)}.session-mvp-name.clickable{cursor:pointer;background:none;border:none;padding:0;font:inherit;font-size:11px;font-weight:400;transition:opacity .2s ease}.session-mvp-name.clickable:hover{opacity:.8}.session-mvp-name.clickable:hover .mvp-character-name{text-decoration:underline}.session-mvp-name.set-mvp{color:rgba(var(--vsg-magenta-rgb),.4);font-style:normal}.session-iconic-scene-link{font-size:11px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.7);background:none;border:none;padding:0;cursor:pointer;font-family:inherit;transition:opacity .2s ease}.session-iconic-scene-link:hover{opacity:.8;color:var(--vsg-purple)}.turn-settings-wizard{display:flex;flex-direction:column;min-width:400px;max-width:500px;background:rgba(var(--vsg-surface-rgb),.95);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;overflow:hidden}.wizard-header{padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.wizard-header h2{margin:0 0 16px;color:#fff;font-size:1.25rem;font-weight:400}.progress-dot{width:10px;height:10px;border-radius:50%;background:rgba(var(--vsg-purple-rgb),.3);transition:all .2s ease}.progress-dot.active{background:var(--vsg-purple);box-shadow:0 0 8px rgba(var(--vsg-purple-rgb),.5)}.progress-dot.completed{background:var(--vsg-purple)}.wizard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;gap:16px;color:#ffffffb3}.wizard-error{margin:12px 24px;padding:12px;background:rgba(var(--vsg-error-rgb),.1);border:1px solid rgba(var(--vsg-error-rgb),.3);border-radius:8px;color:var(--vsg-error);font-size:.875rem}.wizard-content{padding:24px;min-height:250px}.wizard-step h3{margin:0 0 12px;color:#fff;font-size:1.1rem;font-weight:400}:where(.turn-settings-wizard) .step-description{color:#fff9}.character-option{display:flex;align-items:center;gap:12px;padding:10px 12px;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;cursor:pointer;transition:all .2s ease}.character-option:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.3)}.character-option input[type=checkbox]{width:18px;height:18px;accent-color:var(--vsg-purple)}.character-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid rgba(var(--vsg-purple-rgb),.3)}.character-avatar-placeholder{width:32px;height:32px;border-radius:50%;background:rgba(var(--vsg-purple-rgb),.2);display:flex;align-items:center;justify-content:center;color:var(--vsg-purple);font-weight:400;font-size:.875rem}:where(.turn-settings-wizard) .character-name{color:#fff;font-weight:400}.no-characters{color:#ffffff80;font-style:normal;text-align:center;padding:20px}.wizard-option,.wizard-option-alt{margin-bottom:20px;padding:16px;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px}.wizard-option-alt{background:rgba(var(--vsg-purple-rgb),.05);border-color:rgba(var(--vsg-purple-rgb),.14)}.frequency-input{display:flex;align-items:center;gap:12px;margin:20px 0}.frequency-number{width:80px;padding:10px 12px;background:rgba(var(--vsg-surface-rgb),.8);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:#fff;font-size:1.1rem;text-align:center}.frequency-number:focus{outline:none;border-color:var(--vsg-purple);box-shadow:0 0 8px rgba(var(--vsg-purple-rgb),.3)}.frequency-unit{color:#ffffffb3;font-size:1rem}.step-note{margin:0;color:#ffffff80;font-size:.8rem;font-style:normal}.wizard-footer{display:flex;justify-content:space-between;padding:16px 24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-surface-rgb),.5)}:where(.turn-settings-wizard) .footer-left,:where(.turn-settings-wizard) .footer-right{display:flex;gap:12px}.turn-handler-button{position:relative;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;cursor:pointer;transition:all .2s ease;color:rgba(var(--vsg-purple-rgb),.7)}.turn-handler-button:hover:not(.disabled){background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.5);color:var(--vsg-purple)}.turn-handler-button.disabled{opacity:.4;cursor:not-allowed}.turn-handler-button.configured{border-color:rgba(var(--vsg-success-rgb),.31);color:rgba(var(--vsg-success-rgb),.63)}.turn-handler-button.configured:hover:not(.disabled){background:rgba(var(--vsg-success-rgb),.08);border-color:rgba(var(--vsg-success-rgb),.47);color:rgba(var(--vsg-success-rgb),.78)}.turn-icon{width:18px;height:18px}.configured-indicator{position:absolute;top:-3px;right:-3px;width:8px;height:8px;background:rgba(var(--vsg-success-rgb),.78);border-radius:50%;box-shadow:0 0 6px rgba(var(--vsg-success-rgb),.39)}.initiative-button{position:relative;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;cursor:pointer;transition:all .2s ease;color:rgba(var(--vsg-purple-rgb),.7)}.initiative-button:hover:not(.disabled){background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.5);color:var(--vsg-purple)}.initiative-button.disabled{opacity:.4;cursor:not-allowed}.initiative-button.active{background:rgba(var(--vsg-magenta-rgb),.15);border-color:rgba(var(--vsg-magenta-rgb),.5);color:var(--vsg-magenta);box-shadow:0 0 8px rgba(var(--vsg-magenta-rgb),.3);--glow-peak: 0 0 16px rgba(var(--vsg-magenta-rgb), .5);--glow-period: 2s}.initiative-button.active:hover:not(.disabled){background:rgba(var(--vsg-magenta-rgb),.25);border-color:rgba(var(--vsg-magenta-rgb),.7)}.initiative-icon{width:18px;height:18px}.initiative-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;background:var(--vsg-magenta);border-radius:9px;color:#fff;font-size:.65rem;font-weight:400;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0000004d}.initiative-modal{display:flex;flex-direction:column;min-width:380px;max-width:450px;background:rgba(var(--vsg-surface-rgb),.98);border:1px solid rgba(var(--vsg-error-rgb),.3);border-radius:12px;overflow:hidden}:where(.initiative-modal) .modal-header{padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-error-rgb),.2);background:linear-gradient(180deg,rgba(var(--vsg-error-rgb),.1) 0%,transparent 100%)}:where(.initiative-modal) .modal-header h2{margin:0;color:#fff;font-size:1.25rem;font-weight:400}:where(.initiative-modal) .modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;gap:16px;color:#ffffffb3}:where(.initiative-modal) .modal-content{padding:24px;min-height:200px}.npc-selection{margin-bottom:24px}.npc-checkbox-label{display:flex;align-items:center;gap:10px;color:#fffc;font-size:.9rem;cursor:pointer}.npc-checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--vsg-error)}.npc-list{margin-top:12px;padding-left:28px;display:flex;flex-direction:column;gap:6px}.npc-item{display:flex;align-items:center;gap:8px;color:#fff9;font-size:.85rem;cursor:pointer}.npc-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--vsg-error)}.roll-section{display:flex;flex-direction:column;align-items:center;gap:16px;padding:20px 0}.roll-info{margin:0;color:#fff9;font-size:.9rem}.initiative-order h3{margin:0 0 16px;color:#fff;font-size:1rem;font-weight:400}.order-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.order-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:rgba(var(--vsg-error-rgb),.05);border:1px solid rgba(var(--vsg-error-rgb),.2);border-radius:8px}.order-item:first-child{background:rgba(var(--vsg-error-rgb),.15);border-color:rgba(var(--vsg-error-rgb),.4)}.order-rank{color:var(--vsg-error);font-weight:400;min-width:24px}.order-name{flex:1;color:#fff;font-weight:400}.order-roll{color:#ffffffb3;font-size:.9rem;font-family:var(--font-primary)}.order-bonus{color:#ffffff80;margin:0 2px}.order-roll strong{color:var(--vsg-error);font-weight:400}:where(.initiative-modal) .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid rgba(var(--vsg-error-rgb),.2);background:rgba(var(--vsg-surface-rgb),.5)}.initiative-tracker{display:flex;flex-direction:column;gap:12px;margin:16px 0;padding:16px;background:linear-gradient(135deg,rgba(var(--vsg-error-rgb),.1),rgba(var(--vsg-error-rgb),.05));border:1px solid rgba(var(--vsg-error-rgb),.3);border-radius:10px}.tracker-header{display:flex;align-items:center;gap:10px}.tracker-icon{font-size:1.2rem}.tracker-title{color:var(--vsg-error);font-weight:400;font-size:.9rem;letter-spacing:.1em}.tracker-round{margin-left:auto;color:#fff9;font-size:.85rem}.tracker-content{display:flex;flex-direction:column;gap:8px}.current-turn{display:flex;align-items:center;gap:8px}.turn-label{color:#fff9;font-size:.85rem}.turn-character{color:#fff;font-weight:400;font-size:1rem}.turn-initiative{color:var(--vsg-error);font-weight:400;font-size:.9rem}.next-turns{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.next-label{color:#ffffff80;font-size:.8rem}.next-character{color:#fff9;font-size:.8rem}.tracker-controls{display:flex;gap:10px;justify-content:flex-end;margin-top:4px}@media (max-width: 600px){.initiative-tracker{padding:12px}.tracker-content{gap:6px}.current-turn{flex-wrap:wrap}.next-turns{display:none}}.reaction-display{margin-top:8px;margin-bottom:4px}.reaction-list{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.reaction-bubble{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff0d;cursor:pointer;transition:all .15s ease;font-size:14px;font-family:inherit;color:#fffc}.reaction-bubble:hover{background:#ffffff1a;border-color:#fff3;transform:scale(1.05)}.reaction-bubble:active{transform:scale(.95)}.reaction-bubble.user-reacted{background:rgba(var(--vsg-info-rgb),.2);border-color:rgba(var(--vsg-info-rgb),.5)}.reaction-bubble.user-reacted:hover{background:rgba(var(--vsg-info-rgb),.3);border-color:rgba(var(--vsg-info-rgb),.7)}.reaction-bubble.toggling{opacity:.5;cursor:not-allowed}.reaction-bubble.toggling:hover{transform:none}.reaction-emoji{font-size:16px;line-height:1}.reaction-count{font-size:13px;font-weight:400;color:#ffffffe6;min-width:12px;text-align:center}.reaction-add-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px dashed rgba(255,255,255,.2);border-radius:8px;background:transparent;cursor:pointer;transition:all .15s ease;font-size:14px}.reaction-add-button:hover{background:#ffffff0d;border-color:#ffffff4d;border-style:solid}.reaction-add-button:active{transform:scale(.95)}.reaction-add-icon{opacity:.6;transition:opacity .15s ease}.reaction-add-button:hover .reaction-add-icon{opacity:1}@media (prefers-color-scheme: dark){.reaction-bubble{border-color:#ffffff14;background:#ffffff08}.reaction-bubble:hover{background:#ffffff14;border-color:#ffffff26}}@media (max-width: 600px){.reaction-bubble{padding:6px 10px;font-size:16px}.reaction-emoji{font-size:18px}.reaction-count{font-size:14px}.reaction-add-button{width:36px;height:36px;font-size:16px}}.reaction-picker{position:relative;width:280px;background:rgba(var(--vsg-surface-rgb),.98);border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:0 8px 24px #0006;padding:12px;z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.reaction-picker-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.08)}.reaction-picker-title{font-size:13px;font-weight:400;color:#ffffffe6;text-transform:uppercase;letter-spacing:.5px}.reaction-picker-close{background:transparent;border:none;color:#ffffff80;font-size:18px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .15s ease;line-height:1}.reaction-picker-close:hover{background:#ffffff1a;color:#ffffffe6}.reaction-picker-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin-bottom:8px;max-height:200px;overflow-y:auto}.reaction-picker-grid::-webkit-scrollbar{width:6px}.reaction-picker-grid::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.reaction-picker-grid::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.reaction-picker-grid::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.reaction-picker-emoji{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;background:#ffffff0d;border-radius:8px;cursor:pointer;font-size:20px;transition:all .15s ease}.reaction-picker-emoji:hover{background:#ffffff26;transform:scale(1.1)}.reaction-picker-emoji:active{transform:scale(.95)}.reaction-picker-footer{padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}.reaction-picker-hint{font-size:11px;color:#ffffff80;display:block;text-align:center}@keyframes reaction-picker-appear{0%{opacity:0;transform:scale(.95) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.reaction-picker{animation:reaction-picker-appear .15s ease-out}@media (prefers-color-scheme: dark){.reaction-picker{background:rgba(var(--vsg-surface-rgb),.98)}}@media (prefers-color-scheme: light){.reaction-picker{background:#fffffffa;border-color:#0000001a}.reaction-picker-title{color:#000000e6}.reaction-picker-close{color:#00000080}.reaction-picker-close:hover{background:#0000001a;color:#000000e6}.reaction-picker-emoji{background:#0000000d}.reaction-picker-emoji:hover{background:#00000026}.reaction-picker-hint{color:#00000080}.reaction-picker-header,.reaction-picker-footer{border-color:#00000014}}@media (max-width: 600px){.reaction-picker{width:100%;max-width:320px}.reaction-picker-grid{grid-template-columns:repeat(6,1fr)}.reaction-picker-emoji{width:40px;height:40px;font-size:22px}}.ooc-mini-avatars{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:6px}.ooc-mini-avatar{width:24px;height:24px;border-radius:50%;border:1.5px solid rgba(var(--vsg-purple-rgb),.4);background:rgba(var(--vsg-purple-rgb),.1);cursor:pointer;padding:0;overflow:hidden;transition:all .2s ease;flex-shrink:0}.ooc-mini-avatar:hover{border-color:var(--vsg-purple);transform:scale(1.15);box-shadow:0 0 8px rgba(var(--vsg-purple-rgb),.4);z-index:1}.ooc-mini-avatar-img{width:100%;height:100%;object-fit:cover}.ooc-mini-avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--vsg-purple) 0%,rgba(var(--vsg-purple-rgb),.79) 100%);font-size:11px;font-weight:400;color:#fff}.ooc-mini-avatar-more{height:24px;padding:0 6px;border-radius:12px;background:rgba(var(--vsg-purple-rgb),.15);border:1.5px solid rgba(var(--vsg-purple-rgb),.3);font-size:11px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.9);display:flex;align-items:center;justify-content:center;flex-shrink:0}@media (max-width: 600px){.ooc-mini-avatar{width:20px;height:20px}.ooc-mini-avatar-placeholder{font-size:10px}.ooc-mini-avatar-more{height:20px;padding:0 5px;font-size:10px}}.pool-display{display:flex;flex-direction:column;gap:3px;width:52px;margin-top:18px}.pool-stat{display:flex;flex-direction:column;align-items:center;width:100%}.pool-stat-bar{position:relative;width:100%;height:5px;background:#00000080;border-radius:3px;overflow:hidden}.pool-stat-bar-fill{position:absolute;left:0;top:0;height:100%;border-radius:3px;transition:width .3s ease}.pool-stat-bar-overshoot{position:absolute;top:0;height:100%;background:rgba(var(--vsg-analyzing-rgb),.6);border-radius:0 3px 3px 0}.pool-stat-value{font-family:var(--font-primary);font-size:9px;font-weight:400;font-variant-numeric:tabular-nums;text-align:center;line-height:1.2;min-height:14px;display:flex;align-items:center;justify-content:center;flex-direction:column}.pool-stat-number{color:var(--vsg-purple)}.pool-stat-temp{font-size:7px;color:rgba(var(--vsg-analyzing-rgb),.8);font-weight:400}.pool-stat-fraction{font-family:var(--font-primary);font-size:8px;font-weight:400;font-variant-numeric:tabular-nums;text-align:center;line-height:1.1;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:1px;min-height:14px}.fraction-sep{font-size:6px;opacity:.5}.pool-stat-box-grid{display:flex;flex-wrap:wrap;gap:1px;width:100%;justify-content:center}.pool-stat-box{width:5px;height:5px;border-radius:1px}.pool-stat-label{font-family:var(--font-primary);font-size:10px;opacity:.5;text-align:center;white-space:nowrap;margin-top:1px;line-height:1;letter-spacing:.02em}.stat-delta-badge{margin-top:6px;padding:6px 10px;background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.12);border-radius:8px;display:flex;flex-direction:column;gap:3px}.stat-delta-character{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;font-family:var(--font-primary);font-size:9px;font-weight:400;letter-spacing:.02em}.stat-delta-name{color:#ffffffb3}.stat-delta-change{white-space:nowrap}.stat-delta-damage{color:var(--vsg-error)}.stat-delta-heal{color:var(--vsg-success)}.stat-delta-neutral{color:#ffffff80}.stat-delta-result{color:#fff6;margin-left:2px}.post-body strong{font-weight:700}.post-body em{font-style:italic}.post-item{position:relative;display:flex;gap:16px;padding:16px;background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;transition:all .2s ease;margin-bottom:12px}.post-item:hover{background:#00000080;border-color:rgba(var(--vsg-purple-rgb),.3)}.post-avatar{flex-shrink:0}.post-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.post-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.post-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}:where(.post-item) .character-name{color:rgba(var(--vsg-purple-rgb),.95);font-weight:400;font-size:15px}:where(.post-item) .character-title{color:rgba(var(--vsg-purple-rgb),.7);font-weight:400;font-size:13px;font-style:normal}.post-date{color:rgba(var(--vsg-purple-rgb),.7);font-size:13px;white-space:nowrap}.post-locked-indicator{font-size:12px;opacity:.6;cursor:help}.post-edited-indicator{color:rgba(var(--vsg-purple-rgb),.5);font-size:12px;font-style:normal}.post-actions{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:6px;z-index:1}.post-delete-icon{color:var(--vsg-magenta);border-color:rgba(var(--vsg-magenta-rgb),.3);background:rgba(var(--vsg-magenta-rgb),.1)}.post-delete-icon:hover{background:rgba(var(--vsg-magenta-rgb),.2);border-color:rgba(var(--vsg-magenta-rgb),.5);box-shadow:0 0 8px rgba(var(--vsg-magenta-rgb),.4)}.post-body{color:#ffffffe6;line-height:1.6;word-wrap:break-word;overflow-wrap:break-word;font-family:var(--font-primary)}.post-body-wrapper.view-ic .ooc-block{display:none}.post-body h1,.post-body h2,.post-body h3{color:rgba(var(--vsg-purple-rgb),.9);margin:.5em 0;line-height:1.4}.post-body h1{font-size:1.8em}.post-body h2{font-size:1.5em}.post-body h3{font-size:1.3em}.post-body p{margin:.5em 0}.post-body u{text-decoration:underline}.post-body s{text-decoration:line-through}.post-body a{color:rgba(var(--vsg-purple-rgb),.9);text-decoration:underline;transition:color .2s ease;word-break:break-all}.post-body a:hover{color:rgba(var(--vsg-purple-rgb),1)}.post-body a[target=_blank]{color:rgba(var(--vsg-info-rgb),.95);text-decoration:none;padding:2px 4px;border-radius:3px;background:rgba(var(--vsg-info-rgb),.1);transition:all .2s ease}.post-body a[target=_blank]:hover{color:#fff;background:rgba(var(--vsg-info-rgb),.25);text-decoration:none}.post-body a[target=_blank]:after{content:" ↗";font-size:.85em;opacity:.6;margin-left:2px}.post-body a.level-link{color:rgba(var(--vsg-info-rgb),.95);text-decoration:none;font-weight:400;padding:2px 6px;border-radius:4px;background:rgba(var(--vsg-info-rgb),.1);transition:all .2s ease;cursor:pointer}.post-body a.level-link:hover{color:#fff;background:rgba(var(--vsg-info-rgb),.3);text-decoration:none}.post-body ul,.post-body ol{margin:.5em 0;padding-left:2em}.post-body li{margin:.25em 0}.post-body blockquote{border-left:3px solid rgba(var(--vsg-purple-rgb),.5);padding-left:12px;margin:8px 0;color:#ffffffb3;font-style:normal}.post-body code{background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;padding:2px 6px;color:rgba(var(--vsg-purple-rgb),.9);font-family:var(--font-primary);font-size:.9em}.post-body pre{background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;padding:12px;margin:8px 0;overflow-x:auto}.post-body pre code{background:none;border:none;padding:0}.post-body .ooc-block{border-left:3px solid rgba(var(--vsg-purple-rgb),.5);background:rgba(var(--vsg-purple-rgb),.06);padding:8px 12px;margin:8px 0;border-radius:4px;color:#ffffffbf;position:relative}.post-body .ooc-block:before{content:"OOC";display:block;font-size:.7em;text-transform:uppercase;letter-spacing:1px;color:rgba(var(--vsg-purple-rgb),.7);margin-bottom:4px;font-weight:400}.post-body .ooc-block+.ooc-block{margin-top:0;padding-top:0;border-top-left-radius:0;border-top-right-radius:0}.post-body .ooc-block+.ooc-block:before{display:none}.post-body .ooc-block:has(+.ooc-block){margin-bottom:0;padding-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.post-body .ql-align-center{text-align:center}.post-body .ql-align-right{text-align:right}.post-body .ql-align-justify{text-align:justify}.post-thread-actions{display:flex;align-items:center;gap:8px;margin-top:8px}.post-thread-actions .reaction-add-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px dashed rgba(255,255,255,.2);border-radius:8px;background:transparent;cursor:pointer;transition:all .15s ease;font-size:14px}.post-thread-actions .reaction-add-button:hover{background:#ffffff0d;border-color:#ffffff4d;border-style:solid}.post-thread-actions .reaction-add-button:active{transform:scale(.95)}.post-thread-actions .reaction-add-icon{opacity:.6;transition:opacity .15s ease}.post-thread-actions .reaction-add-button:hover .reaction-add-icon{opacity:1}.thread-indicator-button,.thread-reply-button{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:none;border-radius:6px;background:#ffffff0d;color:#ffffffb3;font-size:13px;cursor:pointer;transition:all .15s ease}.thread-indicator-button:hover,.thread-reply-button:hover{background:#ffffff1a;color:#fffffff2;transform:scale(1.02)}.thread-indicator-button{background:rgba(var(--vsg-info-rgb),.15);color:rgba(var(--vsg-info-rgb),.95)}.thread-indicator-button:hover{background:rgba(var(--vsg-info-rgb),.25)}.thread-icon,.thread-reply-icon{font-size:14px;line-height:1}.thread-count,.thread-reply-text{font-weight:400;line-height:1}@media (max-width: 600px){.post-item{flex-direction:column;gap:12px;padding-top:48px}.post-header{flex-direction:column;align-items:flex-start}.post-actions{top:8px;right:8px}.post-thread-actions{flex-wrap:wrap}.thread-indicator-button,.thread-reply-button{font-size:12px;padding:4px 8px}}.post-body-wrapper{position:relative}.post-body--translating{opacity:.6;transition:opacity .3s ease}.post-translation-toggle{position:absolute;top:2px;right:2px;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:4px;cursor:pointer;font-family:var(--font-primary);font-size:10px;font-weight:400;letter-spacing:.5px;color:var(--vsg-purple);opacity:.5;padding:2px 6px;transition:all .2s ease}.post-translation-toggle:hover{opacity:1;background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.4)}.post-translation-loading{display:block;font-family:var(--font-primary);font-size:11px;color:rgba(var(--vsg-purple-rgb),.4);font-style:normal;margin-top:4px;letter-spacing:.3px}.post-objection-actions{display:inline-flex;align-items:center;gap:6px;margin-left:auto}.post-object-button{display:inline-flex;align-items:center;padding:4px 10px;border:none;border-radius:6px;background:transparent;color:var(--vsg-magenta);font-family:var(--font-primary);font-size:13px;font-weight:400;cursor:pointer;opacity:.7;transition:all .15s ease}.post-object-button:hover{opacity:1;text-shadow:0 0 10px rgba(var(--vsg-magenta-rgb),.4)}.post-objections-button{display:inline-flex;align-items:center;padding:4px 10px;border:none;border-radius:6px;background:rgba(var(--vsg-magenta-rgb),.08);color:var(--vsg-magenta);font-family:var(--font-primary);font-size:12px;font-weight:400;cursor:pointer;opacity:.8;transition:all .15s ease}.post-objections-button:hover{opacity:1;background:rgba(var(--vsg-magenta-rgb),.15);text-shadow:0 0 8px rgba(var(--vsg-magenta-rgb),.3)}.post-objection-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;background:rgba(var(--vsg-magenta-rgb),.1)}.post-objection-badge.clickable{cursor:pointer;transition:all .15s ease}.post-objection-badge.clickable:hover{background:rgba(var(--vsg-magenta-rgb),.2);box-shadow:0 0 8px rgba(var(--vsg-magenta-rgb),.3)}.post-objection-badge.resolved .objection-badge-dot,.post-objection-badge.resolved .objection-badge-count{opacity:.5}.objection-badge-dot{width:8px;height:8px;border-radius:50%;background:var(--vsg-magenta);box-shadow:0 0 6px rgba(var(--vsg-magenta-rgb),.5)}.objection-badge-count{font-family:var(--font-primary);font-size:11px;font-weight:400;color:var(--vsg-magenta);font-variant-numeric:tabular-nums}.reroll-confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease-out}.reroll-confirm-modal{background:linear-gradient(135deg,var(--vsg-surface) 0%,var(--vsg-surface) 100%);border-radius:16px;border:2px solid rgba(var(--vsg-gold-rgb),.3);box-shadow:0 8px 32px rgba(var(--vsg-gold-rgb),.15);max-width:500px;width:90%;max-height:calc(90 * var(--vh-fit));overflow:hidden;animation:slideUp .3s ease-out}.reroll-confirm-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid rgba(var(--vsg-gold-rgb),.2);background:linear-gradient(180deg,rgba(var(--vsg-gold-rgb),.1) 0%,transparent 100%)}.reroll-confirm-title{margin:0;font-size:20px;font-weight:400;color:var(--vsg-gold);text-shadow:0 0 10px rgba(var(--vsg-gold-rgb),.3)}.reroll-confirm-close{background:none;border:none;color:#fff9;font-size:28px;line-height:1;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.reroll-confirm-close:hover{background:#ffffff1a;color:#fff}.reroll-confirm-content{padding:32px 24px 24px;display:flex;flex-direction:column;align-items:center;gap:20px}.reroll-warning-icon{font-size:64px;color:var(--vsg-gold);animation:rotateReroll 2s ease-in-out infinite;text-shadow:0 0 20px rgba(var(--vsg-gold-rgb),.5)}.reroll-confirm-message{margin:0;font-size:16px;line-height:1.6;color:#ffffffe6;text-align:center}.reroll-limitation{margin:0;font-size:14px;line-height:1.5;color:rgba(var(--vsg-gold-rgb),.8);text-align:center;padding:12px 16px;background:rgba(var(--vsg-gold-rgb),.1);border-radius:8px;border:1px solid rgba(var(--vsg-gold-rgb),.2);font-weight:400}.reroll-confirm-actions{display:flex;gap:12px;width:100%;margin-top:8px}.reroll-confirm-actions button{flex:1;padding:12px 24px;font-size:15px;font-weight:400;border-radius:8px;cursor:pointer;transition:all .2s ease;border:none}.reroll-cancel-button{background:#ffffff1a!important;color:#fffc!important;border:1px solid rgba(255,255,255,.2)!important}.reroll-cancel-button:hover{background:#ffffff26!important;border-color:#ffffff4d!important;color:#fff!important}.reroll-confirm-button{background:linear-gradient(135deg,var(--vsg-gold) 0%,var(--vsg-gold) 100%)!important;color:var(--vsg-surface)!important;box-shadow:0 4px 12px rgba(var(--vsg-gold-rgb),.3)!important;border:1px solid rgba(var(--vsg-gold-rgb),.5)!important}.reroll-confirm-button:hover{background:linear-gradient(135deg,var(--vsg-gold) 0%,var(--vsg-gold) 100%)!important;transform:translateY(-2px);box-shadow:0 6px 16px rgba(var(--vsg-gold-rgb),.4)!important}.reroll-confirm-button:active{transform:translateY(0)}@media (max-width: 600px){.reroll-confirm-modal{width:95%}.reroll-confirm-header{padding:20px}.reroll-confirm-content{padding:24px 20px 20px}.reroll-warning-icon{font-size:48px}.reroll-confirm-actions{flex-direction:column}.reroll-confirm-actions button{width:100%}}.roll-post{display:flex;gap:16px;padding:16px;background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.15),rgba(var(--vsg-purple-rgb),.05));border:2px solid rgba(var(--vsg-purple-rgb),.4);border-radius:8px;transition:all .2s ease;margin-bottom:12px}.roll-post:hover{background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.2),rgba(var(--vsg-purple-rgb),.08));border-color:rgba(var(--vsg-purple-rgb),.6)}.roll-post-avatar{flex-shrink:0}.roll-post-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px}.roll-post-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.roll-post-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.roll-post-author{font-weight:400}.roll-post-narrator-label{color:rgba(var(--vsg-purple-rgb),.85)}.roll-post-author.character-author{display:flex;align-items:center;gap:4px}.character-name{color:rgba(var(--vsg-purple-rgb),.95);font-weight:400;font-size:15px}.character-title{color:rgba(var(--vsg-purple-rgb),.7);font-weight:400;font-size:13px;font-style:normal}.roll-post-date{color:rgba(var(--vsg-purple-rgb),.7);font-size:13px;white-space:nowrap}.roll-post-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:rgba(var(--vsg-purple-rgb),.2);border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:12px;color:var(--vsg-purple);font-size:12px;font-weight:400;text-transform:uppercase;letter-spacing:.05em}.roll-post-actions{display:flex;gap:8px;flex-shrink:0;align-items:center}.roll-post-delete-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:rgba(var(--vsg-magenta-rgb),.1);border:1px solid rgba(var(--vsg-magenta-rgb),.3);border-radius:6px;color:var(--vsg-magenta);cursor:pointer;transition:all .2s ease}.roll-post-delete-icon:hover{background:rgba(var(--vsg-magenta-rgb),.2);border-color:rgba(var(--vsg-magenta-rgb),.5);box-shadow:0 0 8px rgba(var(--vsg-magenta-rgb),.4);transform:scale(1.05)}.roll-description{padding:12px;background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:6px;font-size:14px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.roll-settings-info{padding:10px 12px;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.25);border-radius:6px;font-size:13px;line-height:1.5;display:flex;flex-wrap:wrap;gap:4px;align-items:baseline}.settings-label{font-weight:400;color:var(--vsg-purple);text-transform:uppercase;font-size:12px;letter-spacing:.05em}.settings-values{color:rgba(var(--vsg-purple-rgb),.9);font-weight:400;font-size:13px}.setting-modified{color:var(--vsg-error);font-weight:400}.roll-data{display:flex;flex-direction:column;gap:12px;padding:16px;background:#0000004d;border-radius:8px;border:1px solid rgba(var(--vsg-purple-rgb),.3)}.roll-total-display{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px;background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.2),rgba(var(--vsg-purple-rgb),.1));border-radius:8px;border:2px solid var(--vsg-purple)}.total-label{font-size:.875rem;font-weight:400;text-transform:uppercase;letter-spacing:.05em;color:var(--vsg-purple)}.total-value{font-size:2.5rem;font-weight:400;color:var(--vsg-purple);line-height:1;font-family:var(--font-primary);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.roll-breakdown-display{display:flex;align-items:center;justify-content:center;padding:12px;background:rgba(var(--vsg-purple-rgb),.08);border-radius:6px;border:1px solid rgba(var(--vsg-purple-rgb),.2)}.breakdown-text{font-family:var(--font-primary);font-size:1rem;font-weight:400;color:var(--vsg-purple);text-align:center;font-variant-numeric:tabular-nums;letter-spacing:.01em;word-break:break-word;line-height:1.5}.roll-reroll-button{display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,var(--vsg-gold) 0%,var(--vsg-gold) 100%)!important;color:var(--vsg-surface)!important;border:1px solid rgba(var(--vsg-gold-rgb),.5)!important;box-shadow:0 2px 8px rgba(var(--vsg-gold-rgb),.3);font-weight:400!important;padding:6px 14px!important;font-size:13px!important;height:32px!important;min-height:32px!important;transition:all .2s ease}.roll-reroll-button:hover:not(:disabled){background:linear-gradient(135deg,var(--vsg-gold) 0%,var(--vsg-gold) 100%)!important;transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--vsg-gold-rgb),.4)}.roll-reroll-button:active:not(:disabled){transform:translateY(0)}.roll-reroll-button:disabled{opacity:.6;cursor:not-allowed}.reroll-icon{display:inline-block;font-size:16px;line-height:1}.roll-reroll-button:hover:not(:disabled) .reroll-icon{animation:rotateReroll .6s ease-in-out}.reroll-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:rgba(var(--vsg-gold-rgb),.15);border:1px solid rgba(var(--vsg-gold-rgb),.4);border-radius:12px;color:var(--vsg-gold);font-size:12px;font-weight:400;text-transform:uppercase;letter-spacing:.05em;text-shadow:0 0 8px rgba(var(--vsg-gold-rgb),.3)}.reroll-indicator{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:6px;font-size:14px;font-weight:400;line-height:1.5}.reroll-icon-indicator{font-size:18px;line-height:1;flex-shrink:0}.rerolled-indicator{background:rgba(var(--vsg-gold-rgb),.1);border:1px solid rgba(var(--vsg-gold-rgb),.3);color:rgba(var(--vsg-gold-rgb),.9)}.rerolled-indicator .reroll-icon-indicator{color:var(--vsg-gold);animation:rotateReroll 2s ease-in-out infinite}.original-roll-indicator{background:rgba(var(--vsg-gold-rgb),.15);border:1px solid rgba(var(--vsg-gold-rgb),.4);color:rgba(var(--vsg-gold-rgb),.95)}.original-roll-indicator .reroll-icon-indicator{color:var(--vsg-gold)}.original-roll-indicator .reroll-text{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.better-roll{color:var(--vsg-success);text-shadow:0 0 8px rgba(var(--vsg-success-rgb),.3)}.worse-roll{color:var(--vsg-error);text-shadow:0 0 8px rgba(var(--vsg-error-rgb),.3)}.same-roll{color:var(--vsg-gold);text-shadow:0 0 8px rgba(var(--vsg-gold-rgb),.3)}@keyframes rotateReroll{0%,to{transform:rotate(0)}25%{transform:rotate(-15deg)}75%{transform:rotate(15deg)}}@media (max-width: 600px){.roll-post{flex-direction:column;gap:12px}.roll-post-header{flex-direction:column;align-items:flex-start}.roll-post-actions{width:auto}.roll-post-delete-icon{width:24px;height:24px}.total-value{font-size:2rem}.breakdown-text{font-size:.875rem}.roll-reroll-button{flex:1;justify-content:center}.reroll-indicator{font-size:13px;padding:8px 10px}.reroll-icon-indicator{font-size:16px}}.post-list{display:flex;flex-direction:column;gap:12px;width:100%}.post-list-state{display:flex;align-items:center;justify-content:center;min-height:300px;width:100%}.post-list-loading{display:flex;flex-direction:column;align-items:center;gap:16px;color:rgba(var(--vsg-purple-rgb),.8)}.post-list-error{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px;background:rgba(var(--vsg-error-rgb),.1);border:1px solid rgba(var(--vsg-error-rgb),.3);border-radius:12px;max-width:500px}:where(.post-list,.post-list-state) .error-message{text-align:center}@media (max-width: 600px){.post-list-state{min-height:200px}.post-list-error{margin:0 16px;padding:24px}}.image-upload-dropzone{padding:16px;border:2px dashed rgba(255,255,255,.2);border-radius:8px;background:#ffffff05;transition:all .2s ease;min-height:120px}.image-upload-dropzone.dragging{border-color:rgba(var(--vsg-purple-rgb),.8);background:rgba(var(--vsg-purple-rgb),.1);transform:scale(1.02)}.image-upload-dropzone.disabled{opacity:.5;cursor:not-allowed}.dropzone-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px 20px;cursor:pointer;min-height:88px}.dropzone-empty:hover{opacity:.8}.dropzone-icon{font-size:48px;opacity:.7}.dropzone-text{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.dropzone-text>span{color:#fffc;font-size:14px}.dropzone-hint{color:#ffffff80!important;font-size:12px!important}.image-upload-previews{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.preview-item{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;background:#0000004d;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center}.preview-image{width:100%;height:100%;object-fit:cover;display:block;position:absolute;top:0;left:0}.preview-filename{position:absolute;bottom:0;left:0;right:0;padding:4px 6px;background:linear-gradient(to top,rgba(0,0,0,.9),transparent);color:#fff;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transition:opacity .2s ease;z-index:5;pointer-events:none}.preview-item:hover .preview-filename{opacity:1}@media (max-width: 600px){.image-upload-dropzone{padding:24px 16px}.dropzone-icon{font-size:36px}.dropzone-text>span{font-size:13px}.image-upload-previews{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}}.preview-add-more{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1;border-radius:8px;border:2px dashed rgba(255,255,255,.3);background:#ffffff0d;cursor:pointer;transition:all .2s ease}.preview-add-more:hover{border-color:rgba(var(--vsg-purple-rgb),.6);background:rgba(var(--vsg-purple-rgb),.1);transform:scale(1.05)}.add-more-icon{font-size:32px;color:#fff9;font-weight:300;line-height:1}.add-more-text{font-size:11px;color:#fff9;margin-top:4px}@media (prefers-color-scheme: light){.image-upload-dropzone{border-color:#0003;background:#00000005}.image-upload-dropzone.dragging{border-color:rgba(var(--vsg-purple-rgb),.8);background:rgba(var(--vsg-purple-rgb),.1)}.dropzone-text>span{color:#000c}.dropzone-hint{color:#00000080!important}.preview-item{background:#0000000d;border-color:#0000001a}.preview-add-more{border-color:#0000004d;background:#0000000d}.preview-add-more:hover{border-color:rgba(var(--vsg-purple-rgb),.6);background:rgba(var(--vsg-purple-rgb),.1)}.add-more-icon,.add-more-text{color:#0009}}.character-picker-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:9999;animation:characterPickerFadeIn .2s ease-out}.character-picker-modal{background:linear-gradient(135deg,var(--vsg-surface) 0%,var(--vsg-surface) 100%);border-radius:16px;border:2px solid rgba(var(--vsg-purple-rgb),.3);box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.15);max-width:600px;width:90%;max-height:calc(80 * var(--vh-fit));overflow:hidden;animation:characterPickerSlideUp .3s ease-out}.character-picker-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);background:linear-gradient(180deg,rgba(var(--vsg-purple-rgb),.1) 0%,transparent 100%)}.character-picker-title{margin:0;font-size:18px;font-weight:400;color:var(--vsg-purple);text-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.3)}.character-picker-close{background:none;border:none;color:#fff9;font-size:28px;line-height:1;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.character-picker-close:hover{background:#ffffff1a;color:#fff}.character-picker-content{padding:20px 24px 24px;overflow-y:auto;max-height:calc(80 * var(--vh-fit) - 80px)}.character-picker-subtitle{margin:0 0 16px;font-size:14px;color:#ffffffb3;text-align:center}.character-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.character-picker-card{background:#ffffff0d;border:2px solid transparent;border-radius:12px;padding:16px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:12px}.character-picker-card:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.3);transform:translateY(-2px)}.character-picker-card.selected{background:rgba(var(--vsg-purple-rgb),.15);border-color:var(--vsg-purple);box-shadow:0 0 16px rgba(var(--vsg-purple-rgb),.3)}.character-picker-avatar{position:relative;width:64px;height:64px;border-radius:50%;overflow:visible}.character-picker-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:2px solid rgba(var(--vsg-purple-rgb),.3)}.character-picker-avatar-placeholder{width:100%;height:100%;border-radius:50%;background:linear-gradient(135deg,var(--vsg-purple) 0%,rgba(var(--vsg-purple-rgb),.79) 100%);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:400;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.character-picker-selected-badge{position:absolute;bottom:-4px;right:-4px;width:24px;height:24px;background:var(--vsg-purple);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:400;box-shadow:0 2px 8px rgba(var(--vsg-purple-rgb),.5)}.character-picker-info{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;min-width:0;width:100%}.character-picker-name{font-size:14px;font-weight:400;color:#fffffff2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.character-picker-title-text{font-size:12px;color:rgba(var(--vsg-purple-rgb),.8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.character-picker-empty{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px 16px}.character-picker-empty-icon{font-size:48px;opacity:.5}.character-picker-empty-message{margin:0;font-size:15px;color:#ffffffb3;text-align:center;line-height:1.5}@keyframes characterPickerFadeIn{0%{opacity:0}to{opacity:1}}@keyframes characterPickerSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 600px){.character-picker-modal{width:95%;max-height:calc(85 * var(--vh-fit))}.character-picker-grid{grid-template-columns:repeat(2,1fr);gap:10px}.character-picker-card{padding:12px}.character-picker-avatar{width:56px;height:56px}.character-picker-avatar-placeholder{font-size:20px}}.gm-picker-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:9999;animation:gmPickerFadeIn .2s ease-out}.gm-picker-modal{background:transparent;border-radius:12px;border:1px solid rgba(var(--vsg-purple-rgb),.4);box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-width:650px;width:90%;max-height:calc(85 * var(--vh-fit));overflow:hidden;animation:gmPickerSlideUp .3s ease-out;display:flex;flex-direction:column}.gm-picker-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05);flex-shrink:0}.gm-picker-title{margin:0;font-family:var(--font-primary);font-size:1.25rem;font-weight:400;color:var(--vsg-purple);text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5)}.gm-picker-close{background:none;border:none;color:#fff9;font-size:28px;line-height:1;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.gm-picker-close:hover{background:rgba(var(--vsg-purple-rgb),.1);color:var(--vsg-purple)}.gm-picker-tabs{display:flex;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);padding:0 16px;flex-shrink:0}.gm-picker-tab{background:none;border:none;padding:12px 16px;color:#fff9;font-size:14px;font-weight:400;cursor:pointer;transition:all .2s ease;position:relative;display:flex;align-items:center;gap:6px}.gm-picker-tab:hover{color:#ffffffe6}.gm-picker-tab.active{color:var(--vsg-purple)}.gm-picker-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--vsg-purple);box-shadow:0 0 8px rgba(var(--vsg-purple-rgb),.5)}.gm-picker-tab-count{background:rgba(var(--vsg-purple-rgb),.2);color:var(--vsg-purple);font-size:11px;padding:2px 6px;border-radius:10px}.gm-picker-tab.active .gm-picker-tab-count{background:rgba(var(--vsg-purple-rgb),.3)}.gm-picker-content{padding:20px 24px 24px;overflow-y:auto;flex:1;min-height:0;height:420px}.gm-picker-narrator-content{display:flex;flex-direction:column;align-items:center;gap:24px;padding:20px 0}.gm-picker-narrator-preview{display:flex;flex-direction:column;align-items:center;gap:16px}.gm-picker-narrator-avatar{width:100px;height:100px;border-radius:50%;object-fit:cover;border:3px solid var(--vsg-purple);box-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.4)}.gm-picker-narrator-info{display:flex;flex-direction:column;align-items:center;gap:4px}.gm-picker-narrator-name{font-size:20px;font-weight:400;color:var(--vsg-purple)}.gm-picker-narrator-desc{font-size:14px;color:#fff9;text-align:center;max-width:300px}.gm-picker-select-button{background:rgba(var(--vsg-purple-rgb),.15);border:1px solid rgba(var(--vsg-purple-rgb),.4);color:var(--vsg-purple);padding:12px 32px;border-radius:8px;font-family:var(--font-primary);font-size:.95rem;font-weight:400;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.gm-picker-select-button:hover{background:rgba(var(--vsg-purple-rgb),.25);border-color:var(--vsg-purple);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.3)}.gm-picker-characters-content{min-height:200px}.gm-picker-loading{display:flex;align-items:center;justify-content:center;padding:40px;color:#fff9}.gm-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.gm-picker-card{background:rgba(var(--vsg-purple-rgb),.03);border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:12px;padding:16px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:12px}.gm-picker-card:hover{background:rgba(var(--vsg-purple-rgb),.08);border-color:rgba(var(--vsg-purple-rgb),.4)}.gm-picker-card.selected{background:rgba(var(--vsg-purple-rgb),.12);border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.2)}.gm-picker-avatar{position:relative;width:64px;height:64px;border-radius:50%;overflow:visible}.gm-picker-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:2px solid rgba(var(--vsg-purple-rgb),.3)}.gm-picker-avatar-placeholder{width:100%;height:100%;border-radius:50%;background:linear-gradient(135deg,var(--vsg-purple) 0%,rgba(var(--vsg-purple-rgb),.79) 100%);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:400;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.gm-picker-selected-badge{position:absolute;bottom:-4px;right:-4px;width:24px;height:24px;background:var(--vsg-purple);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:400;box-shadow:0 2px 8px rgba(var(--vsg-purple-rgb),.5)}.gm-picker-info{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;min-width:0;width:100%}.gm-picker-name{font-size:14px;font-weight:400;color:#fffffff2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.gm-picker-title{font-size:12px;color:rgba(var(--vsg-purple-rgb),.8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.gm-picker-empty{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px 16px}.gm-picker-empty-icon{font-size:48px;opacity:.5}.gm-picker-empty p{margin:0;font-size:15px;color:#ffffffb3;text-align:center}.gm-picker-create-button{background:rgba(var(--vsg-purple-rgb),.15);border:1px solid rgba(var(--vsg-purple-rgb),.4);color:var(--vsg-purple);padding:10px 20px;border-radius:8px;font-family:var(--font-primary);font-size:.9rem;font-weight:400;cursor:pointer;transition:all .2s ease}.gm-picker-create-button:hover{background:rgba(var(--vsg-purple-rgb),.25);border-color:var(--vsg-purple);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.2)}.gm-picker-create-content{margin:-20px -24px -24px;height:460px;display:flex;flex-direction:column}.gm-picker-create-content .modal-header{padding:16px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.03);flex-shrink:0}.gm-picker-create-content .modal-header h2{margin:0;font-family:var(--font-primary);font-size:1.1rem;font-weight:400;color:var(--vsg-purple);text-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.3)}.gm-picker-create-content .modal-close{background:none;border:none;color:#fff9;font-size:24px;cursor:pointer;padding:0;line-height:1;transition:color .2s ease}.gm-picker-create-content .modal-close:hover{color:#fff}.gm-picker-create-content .modal-body{padding:24px;overflow-y:auto;flex:1;min-height:0}.gm-picker-create-content .modal-footer{padding:16px 24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.03);display:flex;gap:12px;justify-content:flex-end;flex-shrink:0}.gm-picker-create-content .character-modal-footer{flex-direction:row!important;padding:16px 24px!important}.gm-picker-create-content .character-modal-footer button{width:auto!important;margin:0!important}@keyframes gmPickerFadeIn{0%{opacity:0}to{opacity:1}}@keyframes gmPickerSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 600px){.gm-picker-modal{width:95%;max-height:calc(90 * var(--vh-fit))}.gm-picker-tabs{padding:0 8px}.gm-picker-tab{padding:10px 12px;font-size:13px}.gm-picker-grid{grid-template-columns:repeat(2,1fr);gap:10px}.gm-picker-card{padding:12px}.gm-picker-avatar{width:56px;height:56px}.gm-picker-avatar-placeholder{font-size:20px}.gm-picker-narrator-avatar{width:80px;height:80px}}.character-avatar-selector{display:flex;align-items:center;gap:12px;padding:8px 12px;background:rgba(var(--vsg-purple-rgb),.08);border-radius:8px;border:1px solid rgba(var(--vsg-purple-rgb),.2);margin-bottom:12px}.character-avatar-selector.disabled{opacity:.6;background:rgba(var(--vsg-error-rgb),.08);border-color:rgba(var(--vsg-error-rgb),.2)}.character-selector-button{position:relative;width:48px;height:48px;border-radius:50%;border:2px solid rgba(var(--vsg-purple-rgb),.4);background:rgba(var(--vsg-purple-rgb),.1);cursor:pointer;padding:0;overflow:visible;transition:all .2s ease;flex-shrink:0}.character-selector-button:hover:not(:disabled){border-color:var(--vsg-purple);transform:scale(1.05);box-shadow:0 0 12px rgba(var(--vsg-purple-rgb),.3)}.character-selector-button:disabled{cursor:not-allowed;opacity:.5}.character-selector-button.has-character{border-color:var(--vsg-purple)}.character-selector-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.character-selector-avatar-placeholder{width:100%;height:100%;border-radius:50%;background:linear-gradient(135deg,var(--vsg-purple) 0%,rgba(var(--vsg-purple-rgb),.79) 100%);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:400;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.character-selector-placeholder{width:100%;height:100%;border-radius:50%;background:#ffffff1a;display:flex;align-items:center;justify-content:center}.character-selector-placeholder-icon{font-size:20px;color:#ffffff80}.character-selector-change-indicator{position:absolute;bottom:-4px;right:-4px;width:20px;height:20px;background:var(--vsg-purple);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(var(--vsg-purple-rgb),.4)}.character-selector-change-icon{font-size:11px;color:#fff;font-weight:400}.character-selector-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.character-selector-label{font-size:14px;color:#ffffff80;text-transform:uppercase;letter-spacing:.5px}.character-selector-name{font-size:11px;font-weight:400;color:var(--vsg-purple);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.character-selector-auto-hint{font-size:11px;color:#fff6;font-style:normal}.character-selector-prompt{font-size:13px;color:#ffffffb3}.character-avatar-selector.disabled .character-selector-prompt{color:rgba(var(--vsg-error-rgb),.8)}@media (max-width: 600px){.character-avatar-selector{padding:6px 10px;gap:10px}.character-selector-button{width:40px;height:40px}.character-selector-avatar-placeholder{font-size:16px}.character-selector-name{font-size:10px}}.ql-font-inter{font-family:Inter,sans-serif}.ql-font-nunito{font-family:Nunito,sans-serif}.ql-font-merriweather{font-family:Merriweather,serif}.ql-font-playfair-display{font-family:Playfair Display,serif}.ql-font-lora{font-family:Lora,serif}.ql-font-cinzel{font-family:Cinzel,serif}.ql-font-uncial-antiqua{font-family:Uncial Antiqua,cursive}.ql-font-dancing-script{font-family:Dancing Script,cursive}.ql-font-caveat{font-family:Caveat,cursive}.ql-font-fira-code{font-family:Fira Code,monospace}.ql-font-source-code-pro{font-family:Source Code Pro,monospace}.ql-picker.ql-font .ql-picker-label:before,.ql-picker.ql-font .ql-picker-item:before{content:"Poppins";font-family:Poppins,sans-serif}.ql-picker.ql-font .ql-picker-label[data-value=inter]:before,.ql-picker.ql-font .ql-picker-item[data-value=inter]:before{content:"Inter";font-family:Inter,sans-serif}.ql-picker.ql-font .ql-picker-label[data-value=nunito]:before,.ql-picker.ql-font .ql-picker-item[data-value=nunito]:before{content:"Nunito";font-family:Nunito,sans-serif}.ql-picker.ql-font .ql-picker-label[data-value=merriweather]:before,.ql-picker.ql-font .ql-picker-item[data-value=merriweather]:before{content:"Merriweather";font-family:Merriweather,serif}.ql-picker.ql-font .ql-picker-label[data-value=playfair-display]:before,.ql-picker.ql-font .ql-picker-item[data-value=playfair-display]:before{content:"Playfair Display";font-family:Playfair Display,serif}.ql-picker.ql-font .ql-picker-label[data-value=lora]:before,.ql-picker.ql-font .ql-picker-item[data-value=lora]:before{content:"Lora";font-family:Lora,serif}.ql-picker.ql-font .ql-picker-label[data-value=cinzel]:before,.ql-picker.ql-font .ql-picker-item[data-value=cinzel]:before{content:"Cinzel";font-family:Cinzel,serif}.ql-picker.ql-font .ql-picker-label[data-value=uncial-antiqua]:before,.ql-picker.ql-font .ql-picker-item[data-value=uncial-antiqua]:before{content:"Uncial Antiqua";font-family:Uncial Antiqua,cursive}.ql-picker.ql-font .ql-picker-label[data-value=dancing-script]:before,.ql-picker.ql-font .ql-picker-item[data-value=dancing-script]:before{content:"Dancing Script";font-family:Dancing Script,cursive}.ql-picker.ql-font .ql-picker-label[data-value=caveat]:before,.ql-picker.ql-font .ql-picker-item[data-value=caveat]:before{content:"Caveat";font-family:Caveat,cursive}.ql-picker.ql-font .ql-picker-label[data-value=fira-code]:before,.ql-picker.ql-font .ql-picker-item[data-value=fira-code]:before{content:"Fira Code";font-family:Fira Code,monospace}.ql-picker.ql-font .ql-picker-label[data-value=source-code-pro]:before,.ql-picker.ql-font .ql-picker-item[data-value=source-code-pro]:before{content:"Source Code Pro";font-family:Source Code Pro,monospace}.post-composer{width:100%;background:#0009;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px}.character-selector-row{display:flex;align-items:center;justify-content:space-between;width:100%}.end-session-btn{flex-shrink:0}.composer-input-container{position:relative;width:100%}.composer-textarea{width:100%;min-height:80px;max-height:400px;padding:12px 80px 12px 12px;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:#ffffffe6;font-size:14px;font-family:inherit;line-height:1.6;resize:none;overflow-y:auto;transition:all .2s ease}.composer-textarea:focus{outline:none;border-color:rgba(var(--vsg-purple-rgb),.6);background:#000000b3;box-shadow:0 0 0 3px rgba(var(--vsg-purple-rgb),.1)}.composer-textarea:disabled{opacity:.5;cursor:not-allowed}.composer-textarea.at-limit{border-color:rgba(var(--vsg-error-rgb),.6)}.composer-textarea::placeholder{color:#fff6}.composer-quill{width:100%;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-top:none;border-radius:0 0 8px 8px;overflow:hidden;transition:all .2s ease}.composer-quill.at-limit{border-color:rgba(var(--vsg-error-rgb),.6)}.composer-quill .ql-editor .ooc-block{border-left:3px solid rgba(var(--vsg-purple-rgb),.6);background:rgba(var(--vsg-purple-rgb),.08);padding:8px 12px;margin:4px 0;border-radius:4px;position:relative}.composer-quill .ql-editor .ooc-block:before{content:"OOC";display:block;font-size:.65em;text-transform:uppercase;letter-spacing:1px;color:rgba(var(--vsg-purple-rgb),.7);margin-bottom:2px;font-weight:400}.composer-quill .ql-editor .ooc-block+.ooc-block{margin-top:0;padding-top:0;border-top-left-radius:0;border-top-right-radius:0}.composer-quill .ql-editor .ooc-block+.ooc-block:before{display:none}.composer-quill .ql-editor .ooc-block:has(+.ooc-block){margin-bottom:0;padding-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.composer-quill .ql-toolbar{background:#0009;border:none;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.3);padding:8px;display:none}.composer-quill .ql-toolbar .ql-stroke{stroke:rgba(var(--vsg-purple-rgb),.7)}.composer-quill .ql-toolbar .ql-fill{fill:rgba(var(--vsg-purple-rgb),.7)}.composer-quill .ql-toolbar .ql-picker-label{color:#ffffffe6;border-color:rgba(var(--vsg-purple-rgb),.3)}.composer-quill .ql-toolbar button:hover,.composer-quill .ql-toolbar button:focus,.composer-quill .ql-toolbar button.ql-active{background:rgba(var(--vsg-purple-rgb),.2)}.composer-quill .ql-toolbar button:hover .ql-stroke,.composer-quill .ql-toolbar button.ql-active .ql-stroke{stroke:rgba(var(--vsg-purple-rgb),1)}.composer-quill .ql-toolbar button:hover .ql-fill,.composer-quill .ql-toolbar button.ql-active .ql-fill{fill:rgba(var(--vsg-purple-rgb),1)}.composer-quill .ql-container{border:none;font-size:14px;font-family:var(--font-primary);min-height:120px;max-height:400px;overflow-y:auto}.composer-quill .ql-editor{padding:12px 12px 40px;color:#ffffffe6;line-height:1.6;font-family:var(--font-primary)}.composer-quill .ql-editor.ql-blank:before{color:#fff6;font-style:normal;left:12px}.composer-input-container:focus-within .composer-quill{border-color:rgba(var(--vsg-purple-rgb),.6);background:#000000b3}.composer-input-container:focus-within .editor-toolbar{border-color:rgba(var(--vsg-purple-rgb),.6);box-shadow:0 0 0 3px rgba(var(--vsg-purple-rgb),.1)}.composer-input-container:focus-within .composer-quill{box-shadow:0 0 0 3px rgba(var(--vsg-purple-rgb),.1)}.composer-quill .ql-picker-options{background:#000000f2;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;padding:4px}.composer-quill .ql-picker-item{color:#ffffffe6}.composer-quill .ql-picker-item:hover{background:rgba(var(--vsg-purple-rgb),.2);color:#fff}.composer-quill .ql-color-picker .ql-picker-options{padding:8px}.composer-quill .ql-editor[contenteditable=false]{opacity:.5;cursor:not-allowed}.composer-quill .ql-editor h1,.composer-quill .ql-editor h2,.composer-quill .ql-editor h3{color:rgba(var(--vsg-purple-rgb),.9);font-weight:400;margin:.5em 0}.composer-quill .ql-editor a{color:rgba(var(--vsg-purple-rgb),.9);text-decoration:underline}.composer-quill .ql-editor blockquote{border-left:3px solid rgba(var(--vsg-purple-rgb),.5);padding-left:12px;margin:8px 0;color:#ffffffb3}.composer-quill .ql-editor code,.composer-quill .ql-editor .ql-code-block{background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;padding:2px 6px;color:rgba(var(--vsg-purple-rgb),.9);font-family:var(--font-primary)}.composer-char-count{position:absolute;bottom:8px;right:12px;font-size:12px;color:rgba(var(--vsg-purple-rgb),.5);pointer-events:none;-webkit-user-select:none;user-select:none}.composer-char-count.near-limit{color:rgba(var(--vsg-caution-rgb),.8);font-weight:400}.composer-char-count.at-limit{color:rgba(var(--vsg-error-rgb),.9);font-weight:400}.composer-error{padding:8px 12px;background:rgba(var(--vsg-error-rgb),.15);border:1px solid rgba(var(--vsg-error-rgb),.3);border-radius:6px;color:rgba(var(--vsg-error-rgb),.9);font-size:13px}.composer-actions{display:flex;justify-content:space-between;align-items:center;gap:12px}.turn-done-toggle{display:flex;align-items:center;gap:8px;flex-shrink:0}.turn-done-label{font-size:12px;color:#ffffffb3;white-space:nowrap}.composer-hint{font-size:12px;color:rgba(var(--vsg-purple-rgb),.6)}.composer-hint kbd{display:inline-block;padding:2px 6px;background:rgba(var(--vsg-purple-rgb),.2);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;font-family:var(--font-primary);font-size:11px;color:rgba(var(--vsg-purple-rgb),.9)}.composer-buttons{display:flex;gap:8px}@media (max-width: 600px){.post-composer{padding:12px}.composer-actions{flex-direction:column;align-items:stretch}.composer-hint{text-align:center;order:2;margin-top:8px}.composer-buttons{width:100%;justify-content:stretch}.composer-buttons button{flex:1}}.speech-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.speech-modal{background:rgba(var(--vsg-surface-rgb),.95);border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:10px;padding:20px;width:90%;max-width:400px;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.speech-modal-header{font-family:var(--font-primary);color:var(--vsg-purple);font-size:16px;font-weight:400;margin:0 0 12px}.speech-modal-textarea{width:100%;min-height:60px;padding:10px 12px;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:#ffffffed;font-size:14px;line-height:1.5;font-family:inherit;resize:vertical;box-sizing:border-box}.speech-modal-textarea:focus{outline:none;border-color:rgba(var(--vsg-purple-rgb),.6)}.speech-modal-textarea::placeholder{color:rgba(var(--vsg-purple-rgb),.4)}.speech-modal-buttons{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.speech-modal-btn{padding:10px 24px;border-radius:10px;font-family:var(--font-primary);font-size:13px;font-weight:400;letter-spacing:.5px;cursor:pointer;transition:all .2s ease;border:1px solid}.speech-cancel-btn{background:#000000e6;color:var(--vsg-magenta);border-color:rgba(var(--vsg-magenta-rgb),.3)}.speech-cancel-btn:hover{background:rgba(var(--vsg-magenta-rgb),.1);border-color:rgba(var(--vsg-magenta-rgb),.5);transform:translateY(-1px)}.speech-insert-btn{background:#000000e6;color:var(--vsg-purple);border-color:rgba(var(--vsg-purple-rgb),.3);--glow-rest: var(--glow-button-rest);--glow-peak: var(--glow-button-peak);--glow-period: var(--glow-button-period)}.speech-insert-btn:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 0 30px rgba(var(--vsg-purple-rgb),.3),0 0 60px rgba(var(--vsg-purple-rgb),.2);transform:translateY(-1px)}.speech-insert-btn:disabled{opacity:.4;cursor:not-allowed;--glow-play: paused}.typing-indicator{height:24px;display:flex;align-items:center;gap:6px;padding:0 12px;font-family:var(--font-primary);font-size:12px;color:rgba(var(--vsg-purple-rgb),.7);background:#0000004d;border-top:1px solid rgba(var(--vsg-purple-rgb),.1);transition:opacity .3s ease;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.typing-indicator--hidden{opacity:0;pointer-events:none}.typing-indicator--visible{opacity:1}.typing-indicator__dots{display:inline-flex;gap:3px;align-items:center}.typing-indicator__dot{width:4px;height:4px;border-radius:50%;background:rgba(var(--vsg-purple-rgb),.6);animation:typing-bounce 1.4s ease-in-out infinite}.typing-indicator__dot:nth-child(2){animation-delay:.2s}.typing-indicator__dot:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.typing-indicator__text{flex:1;overflow:hidden;text-overflow:ellipsis}.thread-view{position:fixed;top:0;right:0;width:500px;height:100%;background:rgba(var(--vsg-surface-rgb),.98);border-left:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;z-index:1000;box-shadow:-4px 0 16px #0000004d}.thread-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1);background:rgba(var(--vsg-surface-rgb),.8)}.thread-title{font-size:18px;font-weight:400;color:#fffffff2;margin:0}.thread-close-button{background:transparent;border:none;color:#fff9;font-size:20px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .15s ease;line-height:1}.thread-close-button:hover{background:#ffffff1a;color:#fffffff2}.thread-content{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px}.thread-content::-webkit-scrollbar{width:8px}.thread-content::-webkit-scrollbar-track{background:#ffffff0d}.thread-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.thread-content::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.thread-parent-post{background:rgba(var(--vsg-info-rgb),.1);border:1px solid rgba(var(--vsg-info-rgb),.3);border-radius:8px;padding:12px}.thread-replies{display:flex;flex-direction:column;gap:12px;padding-left:24px;border-left:2px solid rgba(255,255,255,.1)}.thread-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:16px}.thread-error{padding:20px;text-align:center}.thread-error p{color:rgba(var(--vsg-error-rgb),.9);font-size:14px;margin:0}.thread-no-replies{padding:40px 20px;text-align:center}.thread-no-replies p{color:#ffffff80;font-size:14px;margin:0;font-style:normal}.thread-composer{padding:16px;border-top:1px solid rgba(255,255,255,.1);background:rgba(var(--vsg-surface-rgb),.8)}@media (max-width: 600px){.thread-view{width:100%;max-width:calc(100 * var(--vw-fit))}.thread-content{padding:12px}.thread-replies{padding-left:16px}}@keyframes thread-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.thread-view{animation:thread-slide-in .2s ease-out}@media (prefers-color-scheme: dark){.thread-view{background:rgba(var(--vsg-surface-rgb),.98)}.thread-header,.thread-composer{background:rgba(var(--vsg-surface-rgb),.8)}}@media (prefers-color-scheme: light){.thread-view{background:#fffffff0;border-left-color:#0000001a}.thread-header{background:#ffffffbd;border-bottom-color:#0000001a}.thread-title{color:#000000f2}.thread-close-button{color:#0009}.thread-close-button:hover{background:#0000001a;color:#000000f2}.thread-parent-post{background:rgba(var(--vsg-info-rgb),.08);border-color:rgba(var(--vsg-info-rgb),.2)}.thread-replies{border-left-color:#0000001a}.thread-loading p{color:#0009}.thread-no-replies p{color:#00000080}.thread-composer{background:#ffffffbd;border-top-color:#0000001a}.thread-content::-webkit-scrollbar-track{background:#0000000d}.thread-content::-webkit-scrollbar-thumb{background:#0003}.thread-content::-webkit-scrollbar-thumb:hover{background:#0000004d}}.ic-floating-footer{display:flex;align-items:center;justify-content:center;gap:12px;width:fit-content;margin:0 auto;padding:6px 16px;border-radius:16px;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(var(--vsg-purple-rgb),.2)}.ic-footer-group{display:flex;align-items:center;gap:6px}.ic-footer-label{font-family:var(--font-primary);font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.8px;color:rgba(var(--vsg-purple-rgb),.5);white-space:nowrap}.ic-footer-divider{width:1px;height:20px;background:rgba(var(--vsg-purple-rgb),.15)}.ic-floating-footer .toggle-group{align-items:center!important}.ic-floating-footer .toggle-container.xs .toggle-option.active{border:1px solid rgba(var(--vsg-purple-rgb),.6);background:rgba(var(--vsg-purple-rgb),.25)}.ic-floating-footer .initiative-button{width:28px;height:28px}.ic-floating-footer .initiative-icon{width:16px;height:16px}.ic-footer-dice-btn{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;cursor:pointer;transition:all .2s ease}.ic-footer-dice-icon{width:16px;height:16px;filter:brightness(0) saturate(100%) invert(48%) sepia(95%) saturate(6500%) hue-rotate(267deg) brightness(105%) contrast(101%);transition:filter .2s ease}.ic-footer-dice-btn:hover{background:rgba(var(--vsg-purple-rgb),.25);border-color:rgba(var(--vsg-purple-rgb),.7);transform:scale(1.05)}.ic-footer-dice-btn:hover .ic-footer-dice-icon{filter:brightness(0) saturate(100%) invert(48%) sepia(95%) saturate(6500%) hue-rotate(267deg) brightness(120%) contrast(101%)}.ic-footer-dice-btn:active{transform:scale(.95)}.ic-footer-objection-dot{display:flex;align-items:center;gap:4px;padding:2px 8px;background:transparent;border:none;cursor:pointer;transition:all .15s ease;border-radius:10px}.ic-footer-objection-dot:hover{background:rgba(var(--vsg-magenta-rgb),.2);box-shadow:0 0 8px rgba(var(--vsg-magenta-rgb),.3)}.ic-footer-objection-dot:active{transform:scale(.95)}.ic-footer-objection-dot .objection-dot{width:8px;height:8px;border-radius:50%;background:var(--vsg-magenta);box-shadow:0 0 6px rgba(var(--vsg-magenta-rgb),.5)}.ic-footer-objection-dot .objection-dot-count{font-size:11px;font-weight:400;color:var(--vsg-magenta);line-height:1}.objection-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center}.objection-modal{background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.4);box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;max-width:550px;width:90%;display:flex;flex-direction:column;max-height:calc(80 * var(--vh-fit))}.objection-header{padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05);border-radius:12px 12px 0 0;display:flex;justify-content:space-between;align-items:center}.objection-title{font-family:var(--font-primary);font-size:1.25rem;font-weight:400;color:var(--vsg-purple);text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5);margin:0}.objection-close{background:none;border:none;color:#ffffff80;font-size:1.5rem;cursor:pointer;padding:0;line-height:1;transition:color .15s ease}.objection-close:hover{color:#ffffffe6}.objection-content{padding:24px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:16px}.objection-post-preview{background:#0000004d;border-left:3px solid rgba(var(--vsg-purple-rgb),.3);padding:12px;border-radius:8px}.objection-post-author{font-family:var(--font-primary);font-size:12px;font-weight:400;color:#ffffff80;margin-bottom:6px}.objection-post-body{font-family:var(--font-primary);font-size:13px;font-weight:400;color:#ffffffb3;line-height:1.5}.objection-label{font-family:var(--font-primary);font-size:14px;font-weight:400;color:#fffc}.objection-textarea{width:100%;min-height:120px;padding:12px;border-radius:8px;border:1px solid rgba(var(--vsg-purple-rgb),.2);background:#00000080;color:#ffffffe6;font-family:var(--font-primary);font-size:14px;font-weight:400;resize:vertical;outline:none;transition:border-color .15s ease;box-sizing:border-box}.objection-textarea:focus{border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.1)}.objection-textarea::placeholder{color:#ffffff4d}.objection-char-count{font-family:var(--font-primary);font-size:12px;font-weight:400;color:#fff6;text-align:right;font-variant-numeric:tabular-nums}.objection-char-count.below-min{color:var(--vsg-magenta)}.objection-error{font-family:var(--font-primary);font-size:13px;font-weight:400;color:var(--vsg-magenta);padding:8px 12px;background:rgba(var(--vsg-magenta-rgb),.1);border-radius:6px;border:1px solid rgba(var(--vsg-magenta-rgb),.2)}.objection-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05);border-radius:0 0 12px 12px;flex-shrink:0}.objection-btn-cancel{padding:8px 20px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#00000080;color:#ffffffb3;font-family:var(--font-primary);font-size:14px;font-weight:400;cursor:pointer;transition:all .15s ease}.objection-btn-cancel:hover{background:#ffffff0d;color:#ffffffe6}.objection-btn-submit{padding:8px 20px;border-radius:8px;border:1px solid rgba(var(--vsg-purple-rgb),.3);background:#000000e6;color:var(--vsg-purple);font-family:var(--font-primary);font-size:14px;font-weight:400;cursor:pointer;transition:all .15s ease}.objection-btn-submit:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.1);box-shadow:0 0 30px rgba(var(--vsg-purple-rgb),.3),0 0 60px rgba(var(--vsg-purple-rgb),.2)}.objection-btn-submit:disabled{opacity:.4;cursor:not-allowed}.post-objection-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.post-objection-modal{position:relative;background:transparent;border-radius:12px;width:90%;max-width:500px;max-height:calc(90 * var(--vh-fit));overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3);border:1px solid rgba(var(--vsg-purple-rgb),.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.post-objection-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05)}.post-objection-modal .modal-title{font-family:var(--font-primary);font-size:1.25rem;font-weight:400;color:var(--vsg-purple);margin:0;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5)}.post-objection-modal-content{padding:24px;overflow-y:auto;flex:1}.post-objection-modal-content::-webkit-scrollbar{width:8px}.post-objection-modal-content::-webkit-scrollbar-track{background:transparent}.post-objection-modal-content::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.3);border-radius:4px}.objection-modal-empty{font-family:var(--font-primary);font-size:13px;color:rgba(var(--vsg-purple-rgb),.5);text-align:center;padding:24px 0}.objection-modal-item{padding:14px 16px;margin-bottom:12px;border-radius:8px;background:#0000004d;border-left:3px solid transparent}.objection-modal-item.status-pending{border-left-color:var(--vsg-magenta)}.objection-modal-item.status-accepted{border-left-color:var(--vsg-purple)}.objection-modal-item.status-rejected{border-left-color:rgba(var(--vsg-purple-rgb),.25);opacity:.7}.objection-item-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.objection-status-badge{font-family:var(--font-primary);font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:4px}.objection-status-badge.pending{background:rgba(var(--vsg-magenta-rgb),.2);color:var(--vsg-magenta)}.objection-status-badge.accepted{background:rgba(var(--vsg-purple-rgb),.2);color:var(--vsg-purple)}.objection-status-badge.rejected{background:#0000004d;color:rgba(var(--vsg-purple-rgb),.5)}.objection-resolved-by{font-family:var(--font-primary);font-size:11px;color:rgba(var(--vsg-purple-rgb),.5)}.objection-item-justification{font-family:var(--font-primary);font-size:13px;color:#ffffffd6;line-height:1.5;margin-bottom:8px}.objection-item-resolution{font-family:var(--font-primary);font-size:12px;color:rgba(var(--vsg-purple-rgb),.7);padding:8px 10px;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:6px;margin-bottom:8px}.resolution-label{font-weight:400;color:var(--vsg-purple)}.objection-item-actions{display:flex;gap:8px;margin-top:8px}.objection-change-form{margin-top:10px;display:flex;flex-direction:column;gap:8px}.objection-change-status{padding:6px 10px;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:#ffffffd6;font-size:12px;font-family:var(--font-primary)}.objection-change-textarea{padding:8px 10px;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:#ffffffd6;font-size:13px;font-family:var(--font-primary);resize:vertical}.objection-change-textarea:focus,.objection-change-status:focus{border-color:rgba(var(--vsg-purple-rgb),.5);outline:none;box-shadow:0 0 8px rgba(var(--vsg-purple-rgb),.15)}.objection-review-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center}.objection-review-panel{background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.4);box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;max-width:700px;width:90%;height:calc(70 * var(--vh-fit));max-height:calc(85 * var(--vh-fit));display:flex;flex-direction:column}.objection-review-header{padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05);border-radius:12px 12px 0 0;display:flex;justify-content:space-between;align-items:center}.objection-review-title{font-family:var(--font-primary);font-size:1.25rem;font-weight:400;color:var(--vsg-purple);text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5);margin:0}.objection-review-tabs{display:flex;gap:2px;padding:12px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.1);background:linear-gradient(135deg,#000c,rgba(var(--vsg-surface-rgb),.7))}.objection-tab{padding:6px 16px;border:.25px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;background:transparent;color:#ffffff80;font-family:var(--font-primary);font-size:13px;font-weight:400;cursor:pointer;transition:all .15s ease}.objection-tab:hover{color:#fffc}.objection-tab.active{background:rgba(var(--vsg-purple-rgb),.2);color:var(--vsg-purple);text-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.3)}.objection-review-list{padding:16px 24px;overflow-y:auto;flex:1;min-height:300px;display:flex;flex-direction:column;gap:12px}.objection-review-loading,.objection-review-empty{font-family:var(--font-primary);font-size:14px;font-weight:400;color:#fff6;text-align:center;padding:40px 0}.objection-card{background:#0000004d;border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:12px;border-left:3px solid rgba(255,255,255,.2)}.objection-card.status-accepted{border-left-color:rgba(var(--vsg-purple-rgb),.6)}.objection-card.status-rejected{border-left-color:rgba(var(--vsg-magenta-rgb),.6)}.objection-card.status-pending{border-left-color:#ffffff4d}.objection-card-post{padding:10px;background:#0003;border-radius:6px;position:relative}.objection-card-level{font-family:var(--font-primary);font-size:11px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.5);display:block;margin-bottom:4px}.objection-card-post-body{font-family:var(--font-primary);font-size:13px;font-weight:400;color:#fff9;line-height:1.4}.objection-card-ai-tag{position:absolute;top:8px;right:8px;padding:2px 6px;border-radius:4px;background:rgba(var(--vsg-purple-rgb),.15);color:rgba(var(--vsg-purple-rgb),.7);font-family:var(--font-primary);font-size:10px;font-weight:400}.objection-card-details{display:flex;flex-direction:column;gap:6px}.objection-card-author{font-family:var(--font-primary);font-size:13px;font-weight:400;color:#ffffffb3;display:flex;align-items:center;gap:8px}.objection-card-date{font-size:11px;color:#ffffff4d;font-variant-numeric:tabular-nums}.objection-card-justification{font-family:var(--font-primary);font-size:14px;font-weight:400;color:#ffffffd9;line-height:1.5}.objection-card-ai-reasoning,.objection-card-gm-reasoning{padding:10px;background:rgba(var(--vsg-purple-rgb),.05);border-radius:6px;border:1px solid rgba(var(--vsg-purple-rgb),.15)}.objection-card-ai-label,.objection-card-gm-label{font-family:var(--font-primary);font-size:11px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.6);display:block;margin-bottom:6px}.objection-card-resolution-text{font-family:var(--font-primary);font-size:13px;font-weight:400;color:#ffffffb3;line-height:1.4}.objection-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.objection-status-tag{font-family:var(--font-primary);font-size:12px;font-weight:400;padding:3px 10px;border-radius:12px}.objection-status-tag.status-pending{color:#fff9;background:#ffffff14}.objection-status-tag.status-accepted{color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.1)}.objection-status-tag.status-rejected{color:var(--vsg-magenta);background:rgba(var(--vsg-magenta-rgb),.1)}.objection-card-actions{display:flex;gap:8px}.objection-action-accept{padding:6px 16px;border-radius:6px;border:1px solid rgba(var(--vsg-purple-rgb),.3);background:#000000e6;color:var(--vsg-purple);font-family:var(--font-primary);font-size:13px;font-weight:400;cursor:pointer;transition:all .15s ease}.objection-action-accept:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.1);box-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.2)}.objection-action-reject{padding:6px 16px;border-radius:6px;border:1px solid rgba(255,255,255,.15);background:#00000080;color:#fff9;font-family:var(--font-primary);font-size:13px;font-weight:400;cursor:pointer;transition:all .15s ease}.objection-action-reject:hover:not(:disabled){color:var(--vsg-magenta);border-color:rgba(var(--vsg-magenta-rgb),.3)}.objection-action-override{padding:6px 16px;border-radius:6px;border:1px solid rgba(var(--vsg-purple-rgb),.3);background:transparent;color:var(--vsg-purple);font-family:var(--font-primary);font-size:12px;font-weight:400;cursor:pointer;transition:all .15s ease}.objection-action-override:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.1)}.objection-action-accept:disabled,.objection-action-reject:disabled,.objection-action-override:disabled{opacity:.4;cursor:not-allowed}.objection-review-header-actions{display:flex;align-items:center;gap:12px}.objection-card.orphaned{opacity:.6;border-left-style:dashed;border-left-color:#ffffff26}.objection-deleted-post-tag{display:inline-block;margin-left:8px;padding:1px 6px;border-radius:4px;background:rgba(var(--vsg-magenta-rgb),.15);color:var(--vsg-magenta);font-family:var(--font-primary);font-size:10px;font-weight:400}.objection-deleted-post-text{font-style:normal;color:#ffffff4d}.objection-dismiss-icon{opacity:.3;transition:opacity .15s ease}.objection-dismiss-icon:hover{opacity:.8}.session-view{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.session-scroll-area{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:20px;padding:24px}.session-bottom-bar{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 24px 12px}.session-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:16px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.session-info{flex:1;min-width:0}.session-breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:8px}.session-section-badge{display:inline-block;padding:4px 12px;background:rgba(var(--vsg-purple-rgb),.2);border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:12px;color:rgba(var(--vsg-purple-rgb),.9);font-size:12px;font-weight:400;text-transform:uppercase;letter-spacing:.5px}.session-type{color:#ffffffb3;font-size:13px;text-transform:capitalize}.session-title{margin:0;color:#fffffff2;font-size:28px;font-weight:400;text-shadow:0 2px 4px rgba(0,0,0,.3)}.session-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.session-description{margin:8px 0 0;color:#fff9;font-size:14px;font-style:normal;line-height:1.4}.session-composer-container{flex-shrink:0;display:flex;flex-direction:column;gap:12px}.character-selector-container{display:flex;flex-direction:column;gap:8px;padding:12px 16px;background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px}:where(.session-view,.forum-note-view,.forum-note-card,.sanctum-note-card) .character-selector-label{font-size:13px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.9);text-transform:uppercase;letter-spacing:.5px}.character-selector{max-width:400px}.character-selector-loading{color:rgba(var(--vsg-purple-rgb),.7);font-size:14px;font-style:normal}.character-selector-error{color:rgba(var(--vsg-caution-rgb),.9);font-size:14px;padding:8px 12px;background:rgba(var(--vsg-caution-rgb),.1);border:1px solid rgba(var(--vsg-caution-rgb),.3);border-radius:6px}.session-posts-container{display:flex;flex-direction:column}.session-loading-more{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px;margin-bottom:12px;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px}.session-scroll-area::-webkit-scrollbar{width:8px}.session-scroll-area::-webkit-scrollbar-track{background:#0000004d;border-radius:4px}.session-scroll-area::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.4);border-radius:4px;transition:background .2s ease}.session-scroll-area::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.6)}@media (max-width: 600px){.session-scroll-area{padding:16px;gap:16px}.session-bottom-bar{padding:6px 16px 10px}.session-header{flex-direction:column;align-items:stretch}.session-title{font-size:24px}}.session-view{animation:fadeIn .3s ease}.highlight-violation{animation:highlightPulse 3s ease-out;position:relative}.highlight-violation:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border:2px solid var(--vsg-magenta);border-radius:12px;animation:highlightFade 3s ease-out forwards;pointer-events:none}@keyframes highlightPulse{0%{box-shadow:0 0 20px rgba(var(--vsg-magenta-rgb),.8)}50%{box-shadow:0 0 30px rgba(var(--vsg-magenta-rgb),.5)}to{box-shadow:0 0 rgba(var(--vsg-magenta-rgb),0)}}@keyframes highlightFade{0%{opacity:1}70%{opacity:1}to{opacity:0}}.welcome-loading{display:flex;align-items:center;justify-content:center;min-height:300px}.welcome-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:120px;padding:24px;background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;max-width:520px;margin:0 auto;box-sizing:border-box}.empty-text{font-family:var(--font-primary);font-size:18px;color:var(--vsg-purple);text-align:center;max-width:500px;line-height:1.6}.settings-content{display:flex;flex-direction:column;gap:12px;padding:0 2rem}.settings-content .settings-section{background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;padding:24px;margin-bottom:0}.info-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}@media (max-width: 900px){.info-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 600px){.info-grid{grid-template-columns:repeat(2,1fr)}}.info-box{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;text-align:center;min-width:0}.genres-section{display:flex;align-items:center;gap:12px;margin-top:12px;padding:8px 12px;background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px}.genres-label{font-family:var(--font-primary);font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:.5px;color:rgba(var(--vsg-purple-rgb),.7);white-space:nowrap}.genres-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.about-content{padding:16px;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:6px}.about-text{font-family:var(--font-primary);font-size:14px;line-height:1.8;color:#ffffffe6;margin:0;white-space:pre-wrap}.settings-edit-mode{padding-bottom:20px}.settings-error{background:rgba(var(--vsg-error-rgb),.1);border:1px solid rgba(var(--vsg-error-rgb),.4);border-radius:6px;padding:12px 16px;color:var(--vsg-error);font-size:14px;margin-bottom:16px}.edit-form{display:flex;flex-direction:column;gap:20px}.edit-field{display:flex;flex-direction:column;gap:8px}.edit-field-toggle{flex-direction:row;align-items:center;justify-content:space-between}.edit-input,.edit-textarea{font-family:var(--font-primary);font-size:14px;padding:12px 16px;background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:#fff;transition:all .2s ease}.edit-input:focus,.edit-textarea:focus{outline:none;border-color:var(--vsg-purple);background:#00000080}.edit-input::placeholder,.edit-textarea::placeholder{color:#fff6}.edit-textarea{min-height:100px;resize:vertical;line-height:1.6}.info-box.gm-info-box{overflow:visible}.info-box .styled-display-name-with-tooltip .gm-rank-tooltip{visibility:hidden;position:absolute;bottom:125%;left:50%;transform:translate(-50%);background:#000000f2;color:#fffffff2;padding:8px 12px;border-radius:6px;border:1px solid rgba(var(--vsg-purple-rgb),.4);font-size:.85rem;white-space:nowrap;z-index:10000;pointer-events:none;box-shadow:0 4px 12px #00000080}.info-box .styled-display-name-with-tooltip:hover .gm-rank-tooltip{visibility:visible}.info-box.claude-ai-box{overflow:visible}.geography-detail-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;z-index:99;cursor:pointer;animation:fadeIn .2s ease}.geography-detail-panel{position:fixed;right:0;top:0;bottom:0;width:450px;max-width:calc(90 * var(--vw-fit));background:transparent;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-left:1px solid rgba(var(--vsg-purple-rgb),.2);display:flex;flex-direction:column;z-index:100;animation:slideIn .2s ease;box-shadow:-4px 0 20px #00000080}.geography-detail-panel .detail-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15);background:#0000004d}.geography-detail-panel .detail-title-section{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.geography-detail-panel .detail-icon{font-size:28px;flex-shrink:0}.geography-detail-panel .detail-title-text{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.geography-detail-panel .detail-title-text h3{margin:0;font-size:20px;font-weight:400;font-family:var(--font-primary);color:#fffffff2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.geography-detail-panel .detail-type{display:inline-block;padding:4px 10px;border-radius:20px;font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:.5px;font-family:var(--font-primary);background:rgba(var(--vsg-purple-rgb),.12);color:rgba(var(--vsg-purple-rgb),.9);border:1px solid rgba(var(--vsg-purple-rgb),.3);width:fit-content}.geography-detail-panel .close-detail-btn{background:none;border:none;color:#ffffff80;font-size:28px;cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.geography-detail-panel .close-detail-btn:hover{color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.1)}.geography-detail-panel .detail-body{flex:1;overflow-y:auto;padding:24px}.geography-detail-panel .detail-section{margin-bottom:24px}.geography-detail-panel .detail-section:last-child{margin-bottom:0}.geography-detail-panel .detail-section h4{color:var(--vsg-purple);font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:1.5px;font-family:var(--font-primary);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15)}.geography-detail-panel .wider-area-section{padding:16px;background:rgba(var(--vsg-purple-rgb),.05);border-radius:12px;border:1px solid rgba(var(--vsg-purple-rgb),.1)}.geography-detail-panel .wider-area-section h4{border-bottom:none;padding-bottom:0;margin-bottom:10px}.geography-detail-panel .wider-area-link{background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.25);border-radius:8px;color:#ffffffe6;font-size:14px;font-weight:400;padding:10px 16px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px}.geography-detail-panel .wider-area-link:hover{background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.4);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.15)}.geography-detail-panel .wider-area-text{color:#ffffffb3;font-size:14px}.geography-detail-panel .detail-description{margin:0;color:#ffffffd9;line-height:1.7;font-size:14px}.geography-detail-panel .detail-climate,.geography-detail-panel .detail-culture{margin:0;color:#ffffffd9;font-size:14px;line-height:1.6}.geography-detail-panel .detail-features-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.geography-detail-panel .detail-features-list li{padding:10px 14px;background:#0003;border:1px solid rgba(var(--vsg-purple-rgb),.1);border-radius:8px;color:#ffffffd9;font-size:14px;transition:all .2s ease}.geography-detail-panel .detail-features-list li:hover{background:rgba(var(--vsg-purple-rgb),.08);border-color:rgba(var(--vsg-purple-rgb),.25)}.geography-detail-panel .detail-actions-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.geography-detail-panel .detail-actions-list li{padding:14px 16px;background:rgba(var(--vsg-gold-rgb),.08);border:1px solid rgba(var(--vsg-gold-rgb),.15);border-left:3px solid rgba(var(--vsg-gold-rgb),.5);border-radius:8px;display:flex;flex-direction:column;gap:10px;transition:all .2s ease}.geography-detail-panel .detail-actions-list li:hover{background:rgba(var(--vsg-gold-rgb),.12);border-color:rgba(var(--vsg-gold-rgb),.25)}.geography-detail-panel .action-description{color:#ffffffd9;font-size:14px;line-height:1.5}.geography-detail-panel .action-session-link{background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.25);border-radius:6px;color:#ffffffd9;font-size:12px;padding:6px 12px;cursor:pointer;transition:all .2s ease;width:fit-content}.geography-detail-panel .action-session-link:hover{background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.4)}.geography-detail-panel .action-session-name{color:rgba(var(--vsg-purple-rgb),.7);font-size:12px;font-style:normal}.geography-detail-panel .linked-sessions{display:flex;flex-direction:column;gap:12px}.geography-detail-panel .session-count-info{color:rgba(var(--vsg-gold-rgb),.8);font-size:13px;margin:0}.geography-detail-panel .session-links-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.geography-detail-panel .session-link-btn{background:rgba(var(--vsg-gold-rgb),.08);border:1px solid rgba(var(--vsg-gold-rgb),.2);border-radius:8px;color:#ffffffd9;font-size:14px;padding:10px 14px;cursor:pointer;transition:all .2s ease;width:100%;text-align:left}.geography-detail-panel .session-link-btn:hover{background:rgba(var(--vsg-gold-rgb),.15);border-color:rgba(var(--vsg-gold-rgb),.35);box-shadow:0 0 12px rgba(var(--vsg-gold-rgb),.1)}.geography-detail-panel .children-count{color:rgba(var(--vsg-purple-rgb),.7);font-size:14px;margin:0;padding:12px 16px;background:rgba(var(--vsg-purple-rgb),.05);border-radius:8px;border:1px solid rgba(var(--vsg-purple-rgb),.1)}.geography-detail-panel .characters-section{margin-bottom:24px}.geography-detail-panel .characters-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.geography-detail-panel .character-item{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#0003;border:1px solid rgba(var(--vsg-purple-rgb),.1);border-radius:8px;transition:all .2s ease}.geography-detail-panel .character-item:hover{background:rgba(var(--vsg-purple-rgb),.08);border-color:rgba(var(--vsg-purple-rgb),.25)}.geography-detail-panel .character-icon{font-size:16px;flex-shrink:0}.geography-detail-panel .character-name{color:#ffffffd9;font-size:14px;flex:1}.geography-detail-panel .character-role{color:rgba(var(--vsg-purple-rgb),.7);font-size:12px;font-style:normal}.geography-detail-panel .detail-body::-webkit-scrollbar{width:8px}.geography-detail-panel .detail-body::-webkit-scrollbar-track{background:#0000004d;border-radius:4px}.geography-detail-panel .detail-body::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.2);border-radius:4px}.geography-detail-panel .detail-body::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.3)}.geography-detail-panel .detail-actions{display:flex;align-items:center;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid rgba(var(--vsg-purple-rgb),.1)}.detail-rulers{color:#ffffffe6;font-style:normal}.detail-faction-tags{display:flex;flex-wrap:wrap;gap:.4rem}.faction-tag{background:rgba(var(--vsg-purple-rgb),.15);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;padding:.15rem .5rem;font-size:.8rem;color:var(--vsg-purple)}.detail-presences-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.presence-item{display:flex;align-items:center;gap:.5rem;padding:.3rem 0}.presence-type-badge{font-size:.7rem;padding:.1rem .4rem;border-radius:3px;text-transform:uppercase;letter-spacing:.05em;font-weight:400;min-width:70px;text-align:center}.presence-type-authority{background:rgba(var(--vsg-purple-rgb),.2);color:var(--vsg-purple)}.presence-type-underworld{background:rgba(var(--vsg-magenta-rgb),.2);color:var(--vsg-magenta)}.presence-type-supernatural{background:rgba(var(--vsg-analyzing-rgb),.2);color:var(--vsg-analyzing)}.presence-type-merchant,.presence-type-resident,.presence-type-traveler,.presence-type-other{background:#ffffff1a;color:#ffffffb3}.presence-name{color:#fffffff2;font-weight:400}.presence-activity{color:#fff9;font-size:.85rem}@media (max-width: 600px){.geography-detail-panel{width:100%}}.geography-section{width:100%;height:100%;display:flex;flex-direction:column;padding:16px}.geography-section.loading,.geography-section.error,.geography-section.empty{display:flex;flex-direction:column;align-items:center;color:#ffffff80}.geography-section.error p{color:rgba(var(--vsg-purple-rgb),.7);font-family:var(--font-primary);font-size:16px;margin:0 0 8px}.geography-section.empty .empty-message{font-size:16px;font-family:var(--font-primary);color:rgba(var(--vsg-purple-rgb),.7);margin-bottom:8px}.geography-section.empty .empty-hint{font-size:13px;color:#fff6}.geography-tree-name-wrapper{display:flex;align-items:center}.geography-tree-chevron{background:transparent;border:none;color:rgba(var(--vsg-purple-rgb),.6);cursor:pointer;width:16px;height:16px;margin-right:4px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-primary);font-size:12px;transition:color .15s ease;flex-shrink:0}.geography-tree-chevron:hover{color:rgba(var(--vsg-purple-rgb),.9)}.geography-tree-chevron-spacer{display:inline-block;width:16px;margin-right:4px;flex-shrink:0}.event-detail-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;z-index:99;cursor:pointer;animation:fadeIn .2s ease}.event-detail-panel{position:fixed;right:0;top:0;bottom:0;width:450px;max-width:calc(90 * var(--vw-fit));background:transparent;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-left:1px solid rgba(var(--vsg-purple-rgb),.2);display:flex;flex-direction:column;z-index:100;animation:slideIn .2s ease;box-shadow:-4px 0 20px #00000080}.event-detail-panel .detail-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15);background:#0000004d;gap:16px}.event-detail-panel .detail-title-section{flex:1;min-width:0}.event-detail-panel .detail-title-text h3{margin:0 0 10px;font-size:20px;font-weight:400;font-family:var(--font-primary);color:#fffffff2;line-height:1.3;word-wrap:break-word}.event-detail-panel .detail-badges{display:flex;gap:8px;flex-wrap:wrap}.event-detail-panel .scope-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:.5px;font-family:var(--font-primary)}.event-detail-panel .scope-badge.scope-world{background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple);border:1px solid rgba(var(--vsg-purple-rgb),.3)}.event-detail-panel .scope-badge.scope-national{background:rgba(var(--vsg-info-rgb),.12);color:var(--vsg-info);border:1px solid rgba(var(--vsg-info-rgb),.3)}.event-detail-panel .detail-header-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.event-detail-panel .detail-actions{display:flex;align-items:center;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid rgba(var(--vsg-purple-rgb),.1)}.event-detail-panel .close-detail-btn{background:none;border:none;color:#ffffff80;font-size:28px;cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.event-detail-panel .close-detail-btn:hover{color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.1)}.event-detail-panel .detail-body{flex:1;overflow-y:auto;padding:24px}.event-detail-panel .detail-section{margin-bottom:24px}.event-detail-panel .detail-section:last-child{margin-bottom:0}.event-detail-panel .detail-section h4{color:var(--vsg-purple);font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:1.5px;font-family:var(--font-primary);margin:0 0 12px}.event-detail-panel .detail-date{color:#ffffffe6;font-size:15px;font-weight:400;font-family:var(--font-primary);margin:0;padding:12px 16px;background:rgba(var(--vsg-purple-rgb),.05);border-radius:8px;border-left:3px solid var(--vsg-purple)}.event-detail-panel .detail-cultural-date{color:#ffffff80;font-size:13px;font-style:normal;margin:8px 0 0;padding:10px 16px;background:#0003;border-radius:8px;border-left:3px solid rgba(var(--vsg-purple-rgb),.3)}.event-detail-panel .detail-date-recorded{color:#fff6;font-size:12px;margin:8px 0 0}.event-detail-panel .detail-description{color:#ffffffd9;font-size:14px;line-height:1.7;margin:0;white-space:pre-wrap}.event-detail-panel .detail-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.event-detail-panel .detail-list-item{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#0003;border:1px solid rgba(var(--vsg-purple-rgb),.1);border-radius:8px;transition:all .2s ease}.event-detail-panel .detail-list-item:hover{background:rgba(var(--vsg-purple-rgb),.08);border-color:rgba(var(--vsg-purple-rgb),.25)}.event-detail-panel .list-item-icon{font-size:16px;flex-shrink:0}.event-detail-panel .list-item-text{color:#ffffffd9;font-size:14px;flex:1}.event-detail-panel .list-item-text.thread-text{color:var(--vsg-purple);font-style:normal}.event-detail-panel .detail-empty{color:#fff6;font-size:13px;font-style:normal;margin:0;padding:14px;text-align:center;background:#0003;border-radius:8px}.event-detail-panel .detail-link-btn{background:rgba(var(--vsg-purple-rgb),.08);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;color:#ffffffd9;font-size:14px;padding:8px 14px;cursor:pointer;transition:all .2s ease;text-align:left;flex:1}.event-detail-panel .detail-link-btn:hover{background:rgba(var(--vsg-purple-rgb),.15);border-color:rgba(var(--vsg-purple-rgb),.35);box-shadow:0 0 12px rgba(var(--vsg-purple-rgb),.1)}.event-detail-panel .detail-source{color:#ffffffe6;font-size:14px;font-weight:400;margin:0;padding:12px 16px;background:rgba(var(--vsg-purple-rgb),.05);border-radius:8px;border-left:3px solid var(--vsg-purple)}.event-detail-panel .source-link-btn{background:rgba(var(--vsg-purple-rgb),.05);border:none;border-left:3px solid var(--vsg-purple);border-radius:8px;color:var(--vsg-purple);font-size:14px;font-weight:400;font-family:var(--font-primary);padding:12px 16px;cursor:pointer;transition:all .2s ease;text-align:left;width:100%;text-decoration:underline;text-underline-offset:3px}.event-detail-panel .source-link-btn:hover{background:rgba(var(--vsg-purple-rgb),.12);color:#fffffff2}.event-detail-panel .detail-body::-webkit-scrollbar{width:8px}.event-detail-panel .detail-body::-webkit-scrollbar-track{background:#0000004d;border-radius:4px}.event-detail-panel .detail-body::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.2);border-radius:4px}.event-detail-panel .detail-body::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.3)}@media (max-width: 600px){.event-detail-panel{width:100%}}.history-section{display:flex;flex-direction:column;gap:16px;padding:16px}.history-error,.history-section.empty{display:flex;flex-direction:column;align-items:center;text-align:center}.history-error p{color:var(--vsg-error)}.history-section.empty .empty-message{font-size:16px;font-family:var(--font-primary);color:rgba(var(--vsg-purple-rgb),.7);margin-bottom:8px}.history-section.empty .empty-hint{font-size:13px;color:#fff6}.history-table-container{overflow-x:auto;border-radius:12px;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.1)}.history-table{width:100%;border-collapse:collapse;font-size:13px}.history-table thead{background:rgba(var(--vsg-surface-rgb),.95)}.history-table th{padding:14px 16px;text-align:left;font-weight:400;color:var(--vsg-purple);text-transform:uppercase;font-size:10px;letter-spacing:1.5px;font-family:var(--font-primary);border-bottom:2px solid rgba(var(--vsg-purple-rgb),.3)}.history-table td{padding:16px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.08);vertical-align:top}.col-order{width:50px;text-align:center}.col-title{min-width:300px}.col-date{width:180px}.col-links{width:100px}.history-row{cursor:pointer;transition:all .2s ease;background:transparent}.history-row:hover{background:rgba(var(--vsg-purple-rgb),.06)}.order-badge{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;font-size:12px;font-weight:400;font-family:var(--font-primary)}.order-badge.minor{background:#ffffff0d;color:#ffffff80;border:2px solid rgba(255,255,255,.15)}:where(.history-section) .event-title-cell{display:flex;flex-direction:column;gap:6px}:where(.history-section) .event-title-row{display:flex;align-items:center;gap:8px}:where(.history-section) .event-title-text{font-weight:400;color:#fffffff2;font-size:14px;font-family:var(--font-primary)}:where(.history-section) .event-description-preview{font-size:12px;color:#ffffff80;line-height:1.5}.date-cell{display:flex;flex-direction:column;gap:4px}.in-story-date{color:#ffffffe6;font-weight:400}.cultural-date{font-size:11px;color:rgba(var(--vsg-purple-rgb),.7);font-style:normal}.col-links{display:flex;flex-direction:column;gap:2px}:where(.history-section) .link-count{font-size:11px;color:#fff6}.link-count.dim{color:#ffffff40}.history-table-container::-webkit-scrollbar{width:8px;height:8px}.history-table-container::-webkit-scrollbar-track{background:#0000004d;border-radius:4px}.history-table-container::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.2);border-radius:4px}.history-table-container::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.3)}@media (max-width: 600px){.col-links{display:none}.col-title{min-width:200px}.col-date{width:140px}.history-table th,.history-table td{padding:12px}}.lore-detail-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;z-index:99;cursor:pointer;animation:fadeIn .2s ease}.lore-detail-panel{position:fixed;right:0;top:0;bottom:0;width:450px;max-width:calc(90 * var(--vw-fit));background:transparent;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-left:1px solid rgba(var(--vsg-purple-rgb),.2);display:flex;flex-direction:column;z-index:100;animation:slideIn .2s ease;box-shadow:-4px 0 20px #00000080}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.detail-title{margin:0;font-size:20px;font-weight:400;font-family:var(--font-primary);color:#fffffff2}.close-btn{background:none;border:none;color:#ffffff80;font-size:28px;cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.close-btn:hover{color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.1)}.detail-metadata{display:flex;flex-direction:column;gap:12px;padding:18px;background:#0000004d;border-radius:12px;border:1px solid rgba(var(--vsg-purple-rgb),.1);overflow:hidden}.detail-metadata+.detail-metadata{margin-top:12px}:where(.lore-detail-backdrop) .metadata-row{display:flex}:where(.lore-detail-backdrop) .metadata-label{text-transform:uppercase;letter-spacing:.5px;font-family:var(--font-primary);flex-shrink:0}:where(.lore-detail-backdrop) .metadata-value.status-active{color:var(--vsg-success)}:where(.lore-detail-backdrop) .metadata-value.status-defunct{color:var(--vsg-error)}:where(.lore-detail-backdrop) .metadata-value.status-reformed{color:var(--vsg-gold)}:where(.lore-detail-backdrop) .metadata-value.status-alive{color:var(--vsg-success)}:where(.lore-detail-backdrop) .metadata-value.status-deceased{color:#fff6}:where(.lore-detail-backdrop) .metadata-value.status-unknown{color:#ffffff80}:where(.lore-detail-backdrop) .metadata-value.status-immortal{color:var(--vsg-purple)}:where(.lore-detail-backdrop) .metadata-value.status-legendary{color:var(--vsg-gold)}:where(.lore-detail-backdrop) .metadata-value.rarity-normal{color:var(--rarity-normal)}:where(.lore-detail-backdrop) .metadata-value.rarity-magic{color:var(--rarity-magic)}:where(.lore-detail-backdrop) .metadata-value.rarity-epic{color:var(--rarity-epic)}:where(.lore-detail-backdrop) .metadata-value.rarity-legendary{color:var(--rarity-legendary)}:where(.lore-detail-backdrop) .metadata-value.rarity-artifact{color:var(--rarity-artifact)}.metadata-badge.unique-badge{display:inline-block;margin-left:8px;padding:2px 8px;background:rgba(var(--vsg-purple-rgb),.15);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;color:var(--vsg-purple);font-size:11px;font-weight:400}.metadata-badge.catalog-badge{display:inline-block;padding:2px 8px;background:rgba(var(--vsg-info-rgb),.15);border:1px solid rgba(var(--vsg-info-rgb),.3);border-radius:4px;color:var(--vsg-info);font-size:11px;font-weight:400}:where(.lore-detail-backdrop) .metadata-value.threat-minion{color:#fff6}:where(.lore-detail-backdrop) .metadata-value.threat-standard{color:#fff9}:where(.lore-detail-backdrop) .metadata-value.threat-elite{color:var(--vsg-info)}:where(.lore-detail-backdrop) .metadata-value.threat-boss{color:var(--vsg-purple)}:where(.lore-detail-backdrop) .metadata-value.threat-legendary{color:var(--vsg-error)}:where(.lore-detail-backdrop) .unique-badge{color:var(--vsg-gold);font-weight:400}.lore-detail-panel .detail-actions{display:flex;align-items:center;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid rgba(var(--vsg-purple-rgb),.1)}@media (max-width: 600px){.lore-detail-panel{width:100%}}.faction-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:1000;display:flex;align-items:center;justify-content:center}.faction-modal{background:#000000f2;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;width:calc(90 * var(--vw-fit));max-width:1100px;height:calc(80 * var(--vh-fit));max-height:800px;display:flex;flex-direction:column;overflow:hidden;font-family:var(--font-primary);font-weight:400}.faction-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.faction-modal-title{font-size:18px;font-weight:400;color:#fffffff2;letter-spacing:.5px;margin:0}.faction-modal-body{display:grid;grid-template-columns:45% 55%;flex:1;overflow:hidden}.faction-panel-left{padding:16px 20px;overflow-y:auto;border-right:1px solid rgba(var(--vsg-purple-rgb),.15)}.faction-panel-right{padding:16px 20px;overflow-y:auto}.faction-panel-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}:where(.faction-modal-backdrop) .faction-panel-title{font-size:13px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.8);letter-spacing:1px;text-transform:uppercase;margin:0}.faction-identity-field{margin-bottom:12px}.faction-field-label{font-size:11px;font-weight:400;color:#ffffff80;letter-spacing:.5px;text-transform:uppercase;margin-bottom:4px}.faction-field-input{width:100%;padding:8px 10px;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:6px;color:#ffffffe6;font-family:var(--font-primary);font-weight:400;font-size:13px;outline:none;transition:border-color .2s ease;box-sizing:border-box}.faction-field-input:focus{border-color:rgba(var(--vsg-purple-rgb),.5)}.faction-field-textarea{width:100%;padding:8px 10px;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:6px;color:#ffffffe6;font-family:var(--font-primary);font-weight:400;font-size:13px;outline:none;resize:vertical;min-height:60px;transition:border-color .2s ease;box-sizing:border-box}.faction-field-textarea:focus{border-color:rgba(var(--vsg-purple-rgb),.5)}.faction-array-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.faction-array-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;color:#fffc;font-size:12px}.faction-array-tag-remove{background:transparent;border:none;color:rgba(var(--vsg-error-rgb),.7);cursor:pointer;font-size:14px;padding:0 2px;line-height:1}.faction-array-tag-remove:hover{color:var(--vsg-error)}.faction-array-add{display:flex;gap:6px;margin-top:6px}.faction-array-add-input{flex:1;padding:4px 8px;background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:4px;color:#fffc;font-family:var(--font-primary);font-size:12px;outline:none}.faction-array-add-input:focus{border-color:rgba(var(--vsg-purple-rgb),.4)}.faction-array-add-btn{padding:4px 10px;background:rgba(var(--vsg-purple-rgb),.15);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;color:rgba(var(--vsg-purple-rgb),.9);font-family:var(--font-primary);font-size:12px;cursor:pointer;transition:all .2s ease}.faction-array-add-btn:hover{background:rgba(var(--vsg-purple-rgb),.25)}.faction-unlinked-leaders{margin-top:4px}.faction-unlinked-leader-tag{display:inline-flex;padding:3px 8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#fff6;font-size:12px;font-style:normal;margin:0 4px 4px 0}.faction-save-btn{margin-top:16px;padding:8px 20px;background:rgba(var(--vsg-purple-rgb),.2);border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:6px;color:rgba(var(--vsg-purple-rgb),.95);font-family:var(--font-primary);font-weight:400;font-size:13px;cursor:pointer;transition:all .2s ease}.faction-save-btn:hover{background:rgba(var(--vsg-purple-rgb),.3)}.faction-save-btn:disabled{opacity:.4;cursor:not-allowed}.faction-rank-group{margin-bottom:12px}.faction-rank-header{display:flex;align-items:center;padding:6px 10px;background:rgba(var(--vsg-purple-rgb),.12);border-radius:6px;margin-bottom:6px}.faction-rank-leader-star{color:var(--vsg-gold);font-size:13px;margin-right:6px}.faction-rank-name{font-size:13px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.9);letter-spacing:.5px}.faction-unranked-header{font-size:12px;font-weight:400;color:#fff6;letter-spacing:.5px;padding:6px 10px;margin-bottom:6px}.faction-member-row{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#0000004d;border-radius:8px;margin-bottom:4px;transition:background .2s ease}.faction-member-row:hover{background:#00000073}.faction-member-avatar{width:24px;height:24px;border-radius:50%;border:1px solid rgba(var(--vsg-purple-rgb),.3);object-fit:cover;flex-shrink:0}.faction-member-avatar-placeholder{width:24px;height:24px;border-radius:50%;border:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.1);flex-shrink:0}.faction-member-name{font-size:13px;color:#ffffffe6;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.faction-member-type{font-size:10px;color:#ffffff59;text-transform:uppercase;letter-spacing:.5px;margin-left:-4px}.faction-leader-toggle{padding:2px 4px;background:transparent;border:none;cursor:pointer;font-size:14px;transition:all .2s ease;flex-shrink:0}.faction-leader-toggle.is-leader{color:var(--vsg-gold);opacity:1}.faction-leader-toggle.not-leader{color:var(--vsg-gold);opacity:.25}.faction-leader-toggle:hover{opacity:1;transform:scale(1.2)}.faction-member-rank-dropdown{flex-shrink:0;width:120px}.faction-member-remove{flex-shrink:0;opacity:.5;transition:opacity .2s ease}.faction-member-row:hover .faction-member-remove{opacity:1}.faction-add-member{margin-top:12px;position:relative}.faction-add-member-input{width:100%;padding:8px 10px;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:6px;color:#ffffffe6;font-family:var(--font-primary);font-weight:400;font-size:13px;outline:none;transition:border-color .2s ease;box-sizing:border-box}.faction-add-member-input:focus{border-color:rgba(var(--vsg-purple-rgb),.5)}.faction-add-member-results{position:absolute;top:100%;left:0;right:0;max-height:200px;overflow-y:auto;background:#000000f2;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;margin-top:4px;z-index:10}.faction-add-member-option{display:flex;align-items:center;gap:8px;padding:6px 10px;cursor:pointer;transition:background .15s ease;font-size:13px;color:#ffffffd9}.faction-add-member-option:hover{background:rgba(var(--vsg-purple-rgb),.15)}.faction-add-member-option.create-option{color:rgba(var(--vsg-purple-rgb),.9);border-top:1px solid rgba(var(--vsg-purple-rgb),.15)}.faction-rank-editor{margin-bottom:16px;padding:12px;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px}.faction-rank-editor-title{font-size:12px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.7);letter-spacing:.5px;text-transform:uppercase;margin:0 0 10px}.faction-rank-editor-item{display:flex;align-items:center;gap:6px;padding:4px 0}.faction-rank-editor-name{flex:1;padding:4px 8px;background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:4px;color:#ffffffd9;font-family:var(--font-primary);font-size:13px;outline:none}.faction-rank-editor-name:focus{border-color:rgba(var(--vsg-purple-rgb),.4)}.faction-rank-order-btn{padding:2px 6px;background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:3px;color:#ffffff80;cursor:pointer;font-size:12px;transition:all .2s ease}.faction-rank-order-btn:hover{color:#ffffffe6;border-color:rgba(var(--vsg-purple-rgb),.4)}.faction-rank-order-btn:disabled{opacity:.2;cursor:not-allowed}.faction-rank-add-row{display:flex;gap:6px;margin-top:8px}.faction-rank-add-input{flex:1;padding:6px 8px;background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:4px;color:#fffc;font-family:var(--font-primary);font-size:12px;outline:none}.faction-rank-add-input:focus{border-color:rgba(var(--vsg-purple-rgb),.4)}.faction-manage-ranks-btn{padding:5px 12px;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.25);border-radius:5px;color:rgba(var(--vsg-purple-rgb),.85);font-family:var(--font-primary);font-weight:400;font-size:12px;cursor:pointer;transition:all .2s ease}.faction-manage-ranks-btn:hover{background:rgba(var(--vsg-purple-rgb),.2)}:where(.faction-modal-backdrop) .faction-empty-msg{font-size:12px;color:#ffffff4d;text-align:center;padding:20px 0;font-style:normal}.faction-roster-loading{display:flex;justify-content:center;padding:40px 0}.lore-category-list{padding:16px}.lore-category-list.loading,.lore-category-list.error,.lore-category-list.empty{display:flex;flex-direction:column;align-items:center;color:#ffffff80}.lore-category-list.empty .empty-message{font-size:16px;font-family:var(--font-primary);color:rgba(var(--vsg-purple-rgb),.7);margin-bottom:8px}.lore-category-list.empty .empty-hint{font-size:13px;color:#fff6}.lore-entries{display:flex;flex-direction:column;gap:12px}.lore-entry{background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.12);border-radius:12px;overflow:hidden;transition:all .2s ease}.lore-entry:hover{border-color:rgba(var(--vsg-purple-rgb),.3);box-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.08)}.lore-entry.expanded{border-color:rgba(var(--vsg-purple-rgb),.4);box-shadow:0 0 25px rgba(var(--vsg-purple-rgb),.1)}.lore-entry-header{padding:14px 18px;cursor:pointer;display:flex;flex-direction:column;gap:4px}.entry-title-row{display:flex;align-items:center;gap:12px}.entry-name{margin:0;font-size:15px;font-weight:400;font-family:var(--font-primary);color:#fffffff2;min-width:150px;flex-shrink:0}.entry-inline-preview{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.inline-badge{padding:3px 10px;border-radius:20px;font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:.5px;font-family:var(--font-primary);flex-shrink:0}.inline-badge.rarity-normal{background:color-mix(in srgb,var(--rarity-normal) 12%,transparent);color:var(--rarity-normal);border:1px solid color-mix(in srgb,var(--rarity-normal) 30%,transparent)}.inline-badge.rarity-magic{background:color-mix(in srgb,var(--rarity-magic) 12%,transparent);color:var(--rarity-magic);border:1px solid color-mix(in srgb,var(--rarity-magic) 30%,transparent)}.inline-badge.rarity-epic{background:color-mix(in srgb,var(--rarity-epic) 12%,transparent);color:var(--rarity-epic);border:1px solid color-mix(in srgb,var(--rarity-epic) 30%,transparent)}.inline-badge.rarity-legendary{background:color-mix(in srgb,var(--rarity-legendary) 12%,transparent);color:var(--rarity-legendary);border:1px solid color-mix(in srgb,var(--rarity-legendary) 30%,transparent)}.inline-badge.rarity-artifact{background:color-mix(in srgb,var(--rarity-artifact) 12%,transparent);color:var(--rarity-artifact);border:1px solid color-mix(in srgb,var(--rarity-artifact) 30%,transparent)}.inline-field{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inline-field.type-field{color:#fff9;max-width:120px}.inline-field.owner-field{color:var(--vsg-info);max-width:150px}.expand-icon{font-size:12px;color:rgba(var(--vsg-purple-rgb),.6);transition:all .2s ease}.lore-entry:hover .expand-icon{color:var(--vsg-purple)}.entry-source{font-size:12px;color:#fff6}.lore-entry-content{padding:0 18px 18px;border-top:1px solid rgba(var(--vsg-purple-rgb),.1);animation:slideDown .2s ease}.entry-description{margin:14px 0;color:#ffffffd9;line-height:1.7;font-size:14px}.lore-metadata{display:flex;flex-direction:column;gap:8px;margin-top:14px;padding:14px;background:#0003;border-radius:10px;border-left:3px solid rgba(var(--vsg-purple-rgb),.3)}.entry-actions{display:flex;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(var(--vsg-purple-rgb),.1)}.edit-btn{background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple);border:1px solid rgba(var(--vsg-purple-rgb),.3)}.edit-btn:hover{background:rgba(var(--vsg-purple-rgb),.25);border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.15)}.rules-section{padding:24px;overflow-y:auto}.rules-section.loading,.rules-section.empty{display:flex;flex-direction:column;align-items:center}:where(.rules-section) .rules-list{display:flex;flex-direction:column;gap:16px}.rule-title-row{display:flex;align-items:center;gap:12px;flex:1}:where(.rules-section) .rule-title{margin:0;font-size:18px;font-weight:400;color:#fff}:where(.rules-section) .rule-actions{display:flex;gap:8px}.rule-meta{display:flex;gap:16px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.meta-item{font-size:12px;color:#ffffff80}.meta-item.source-item{color:var(--vsg-purple);font-weight:400}.character-assignment{position:relative;display:block;min-width:120px}.character-assignment-display{display:inline-block}.assignment-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0;background:transparent;border:none;color:var(--vsg-purple);font-family:var(--font-primary);font-size:14px;cursor:pointer;transition:all .2s ease;width:100%}.assignment-trigger:hover{opacity:.8}.assignment-trigger:disabled{opacity:.5;cursor:not-allowed}.assignment-dropdown{position:absolute;top:calc(100% + 4px);right:0;width:280px;max-height:300px;overflow-y:auto;background:#000000f2;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;box-shadow:0 4px 20px #00000080;z-index:1000}.dropdown-header{padding:12px;font-family:var(--font-primary);font-size:12px;font-weight:400;color:#ffffff80;text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);display:flex;flex-direction:column;gap:8px}.assignment-search-input{width:100%;padding:6px 8px;background:#ffffff0d;border:1px solid rgba(var(--vsg-purple-rgb),.25);border-radius:4px;color:#fff;font-family:var(--font-primary);font-size:13px;font-weight:400;text-transform:none;letter-spacing:normal;outline:none;transition:border-color .2s ease}.assignment-search-input::placeholder{color:#ffffff4d}.assignment-search-input:focus{border-color:rgba(var(--vsg-purple-rgb),.5)}.assignment-option{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:transparent;border:none;color:#fff;font-family:var(--font-primary);font-size:14px;text-align:left;cursor:pointer;transition:background .2s ease}.assignment-option:hover{background:rgba(var(--vsg-purple-rgb),.1)}.assignment-option:disabled{opacity:.5;cursor:not-allowed}.assignment-option.current{background:rgba(var(--vsg-purple-rgb),.15);font-weight:400}.dropdown-divider{height:1px;background:rgba(var(--vsg-purple-rgb),.2);margin:4px 0}.current-indicator{color:var(--vsg-purple);font-weight:400}.npc-option-row{display:flex;align-items:center;justify-content:flex-start!important;padding:0!important}.npc-assign-button{display:flex;align-items:center;gap:8px;padding:10px 12px;background:transparent;border:none;color:#fff;font-family:var(--font-primary);font-size:14px;cursor:pointer}.npc-assign-button:hover{background:rgba(var(--vsg-purple-rgb),.1)}.npc-designation-toggles{display:flex;align-items:center;gap:4px;margin-left:auto;padding:0 8px;border-left:1px solid rgba(var(--vsg-purple-rgb),.15);flex-shrink:0}.npc-designation-btn{background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.2);color:#fff6;font-family:var(--font-primary);font-size:11px;font-weight:400;padding:3px 8px;border-radius:4px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.npc-designation-btn:hover{border-color:rgba(var(--vsg-purple-rgb),.3);color:#fff9}.npc-designation-btn.active{background:rgba(var(--vsg-magenta-rgb),.15);color:var(--vsg-magenta);border-color:rgba(var(--vsg-magenta-rgb),.4);text-shadow:0 0 8px rgba(var(--vsg-magenta-rgb),.3)}:where(.character-assignment,.character-assignment-display) .npc-label{font-family:var(--font-primary);font-size:14px;font-weight:400;color:var(--vsg-purple);letter-spacing:1px;opacity:.8}.orphan-assignment{display:flex;flex-direction:column;align-items:center;gap:4px}.orphan-label{font-family:var(--font-primary);font-size:14px;font-weight:400;color:var(--vsg-caution);letter-spacing:1px;background:rgba(var(--vsg-caution-rgb),.15);padding:4px 10px;border-radius:4px;border:1px solid rgba(var(--vsg-caution-rgb),.3)}.pc-claim-panel{border:1px solid rgba(var(--vsg-purple-rgb),.35);background:rgba(var(--vsg-purple-rgb),.08);border-radius:8px;padding:16px 18px;margin:16px 0}.pc-claim-title{font-family:var(--font-primary);color:var(--vsg-purple);font-size:18px;font-weight:300;letter-spacing:.6px;margin:0 0 6px}.pc-claim-hint{color:#ffffffbf;font-size:13px;font-weight:400;margin:0 0 14px;line-height:1.5}.pc-claim-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.pc-claim-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid rgba(255,255,255,.08);border-radius:6px;background:#0003;flex-wrap:wrap}.pc-claim-question{color:#ffffffeb;font-size:14px;font-weight:400}.pc-claim-reason{display:block;color:rgba(var(--vsg-purple-rgb),.75);font-size:12px;font-weight:400;margin-top:3px}.pc-claim-actions{display:flex;flex-wrap:wrap;gap:8px;flex-shrink:1;min-width:0;max-width:100%}.pc-claim-picker{display:inline-block;min-width:160px;max-width:320px}.chapter-award-panel{border:1px solid rgba(var(--vsg-purple-rgb),.35);background:rgba(var(--vsg-purple-rgb),.08);border-radius:8px;padding:16px 18px;margin:16px 0;font-family:var(--font-primary)}:where(.chapter-award-panel) .chapter-award-title{color:var(--vsg-purple);font-size:18px;font-weight:300;letter-spacing:.6px;margin:0 0 6px}:where(.chapter-award-panel) .chapter-award-hint{color:#ffffffbf;font-size:13px;font-weight:400;margin:0 0 14px;line-height:1.5}:where(.chapter-award-panel) .chapter-award-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}:where(.chapter-award-panel) .chapter-award-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:10px 12px;border:1px solid rgba(255,255,255,.08);border-radius:6px;background:#0003}:where(.chapter-award-panel) .chapter-award-question{color:#ffffffeb;font-size:14px;font-weight:400;line-height:1.5;min-width:0}:where(.chapter-award-panel) .chapter-award-chapter,:where(.chapter-award-panel) .chapter-award-quote{display:block;color:rgba(var(--vsg-purple-rgb),.75);font-size:12px;font-weight:400}:where(.chapter-award-panel) .chapter-award-quote{margin-top:3px}:where(.chapter-award-panel) .chapter-award-actions{display:flex;flex-wrap:wrap;gap:8px;min-width:0;max-width:100%}:where(.chapter-award-panel) .chapter-award-encounter-form{display:flex;flex-direction:column;gap:8px;min-width:0}:where(.chapter-award-panel) .chapter-award-encounter-foe{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:8px;min-width:0}:where(.chapter-award-panel) .chapter-award-encounter-cr{min-width:0}.kill-roster-modal{background:#000000f2;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;width:400px;max-height:calc(60 * var(--vh-fit));display:flex;flex-direction:column}.kill-roster-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15)}.kill-roster-header h2{font-family:var(--font-primary);font-size:14px;font-weight:400;color:var(--vsg-purple);margin:0;letter-spacing:.5px}.kill-roster-body{padding:12px 20px;overflow-y:auto;flex:1}.kill-roster-empty{font-family:var(--font-primary);font-size:12px;font-weight:400;color:#fff6;text-align:center;padding:20px 0}.kill-roster-row{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.05)}.kill-roster-row:last-child{border-bottom:none}.kill-roster-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover;flex-shrink:0}.kill-roster-info{display:flex;flex-direction:column;min-width:0}.kill-roster-name{font-family:var(--font-primary);font-size:12px;font-weight:400;color:#ffffffd9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kill-roster-synopsis{font-family:var(--font-primary);font-size:10px;font-weight:400;color:#fff6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar-hover-zoom{position:fixed;top:60%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:9999;border:2px solid rgba(var(--vsg-purple-rgb),.4);border-radius:8px;background:#000c;box-shadow:0 8px 32px #0009;overflow:hidden;transition:opacity .2s ease}.avatar-hover-zoom--hidden{opacity:0}.avatar-hover-zoom--visible{opacity:1}.avatar-hover-zoom img{display:block;width:100%;height:100%;object-fit:cover}.gm-override-controls{background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:10px;padding:12px}.gm-override-controls.compact{display:flex;align-items:center;gap:6px;padding:0;background:transparent;border:none;border-radius:0;margin-top:8px}.gm-override-controls.compact .override-btn{padding:3px 10px;font-size:11px}.gm-override-controls .controls-header{margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.1)}.gm-override-controls .controls-header h4{margin:0;font-family:var(--font-primary);font-size:12px;font-weight:400;text-transform:uppercase;letter-spacing:.5px;color:#ffffff80}.gm-override-controls .controls-section{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.gm-override-controls .controls-section:last-child{margin-bottom:0}.gm-override-controls .danger-zone{padding-top:12px;border-top:1px solid rgba(var(--vsg-error-rgb),.25)}.gm-override-controls .override-btn{padding:6px 12px;border:1px solid transparent;border-radius:6px;font-family:var(--font-primary);font-size:12px;font-weight:400;cursor:pointer;transition:all .2s;text-align:left;letter-spacing:.3px}.gm-override-controls .override-btn:disabled{opacity:.4;cursor:not-allowed}.gm-override-controls .override-btn.skip-all,.gm-override-controls .override-btn.dropdown-trigger{background:rgba(var(--vsg-purple-rgb),.12);border-color:rgba(var(--vsg-purple-rgb),.2);color:#ffffffd9}.gm-override-controls .override-btn.skip-all:hover:not(:disabled),.gm-override-controls .override-btn.dropdown-trigger:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.35)}.gm-override-controls .override-btn.pause{background:rgba(var(--vsg-caution-rgb),.12);border-color:rgba(var(--vsg-caution-rgb),.2);color:var(--vsg-caution)}.gm-override-controls .override-btn.pause:hover:not(:disabled){background:rgba(var(--vsg-caution-rgb),.2);border-color:rgba(var(--vsg-caution-rgb),.35)}.gm-override-controls .override-btn.resume{background:rgba(var(--vsg-success-rgb),.12);border-color:rgba(var(--vsg-success-rgb),.2);color:var(--vsg-success)}.gm-override-controls .override-btn.resume:hover:not(:disabled){background:rgba(var(--vsg-success-rgb),.2);border-color:rgba(var(--vsg-success-rgb),.35)}.gm-override-controls .override-btn.intervene{background:rgba(var(--vsg-analyzing-rgb),.12);border-color:rgba(var(--vsg-analyzing-rgb),.2);color:var(--vsg-analyzing)}.gm-override-controls .override-btn.intervene:hover:not(:disabled){background:rgba(var(--vsg-analyzing-rgb),.2);border-color:rgba(var(--vsg-analyzing-rgb),.35)}.gm-override-controls .override-btn.stop{background:rgba(var(--vsg-error-rgb),.12);border-color:rgba(var(--vsg-error-rgb),.2);color:var(--vsg-error)}.gm-override-controls .override-btn.stop:hover:not(:disabled){background:rgba(var(--vsg-error-rgb),.2);border-color:rgba(var(--vsg-error-rgb),.35)}.gm-override-controls .skip-player-section{position:relative}.gm-override-controls .skip-dropdown{position:absolute;top:100%;left:0;right:0;z-index:10;margin-top:4px;background:#000000d9;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;box-shadow:0 4px 16px #00000080;overflow:hidden}.gm-override-controls .skip-player-btn{width:100%;padding:8px 12px;border:none;background:transparent;color:#ffffffd9;font-family:var(--font-primary);font-size:12px;font-weight:400;text-align:left;cursor:pointer;transition:background .2s}.gm-override-controls .skip-player-btn:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.12)}.gm-override-controls .skip-player-btn:not(:last-child){border-bottom:1px solid rgba(var(--vsg-purple-rgb),.1)}.ae-health-dot{display:inline-block;width:8px;height:8px;border-radius:50%;vertical-align:middle;transition:background-color .3s ease-in-out,box-shadow .3s ease-in-out;flex-shrink:0}.ae-health-dot--listening{background-color:var(--vsg-success);box-shadow:0 0 6px rgba(var(--vsg-success-rgb),.5)}.ae-health-dot--catching_up{background-color:var(--vsg-purple);box-shadow:0 0 6px rgba(var(--vsg-purple-rgb),.5);animation:ae-health-pulse-gentle 1.6s ease-in-out infinite}.ae-health-dot--degraded{background-color:var(--vsg-error);box-shadow:0 0 8px rgba(var(--vsg-error-rgb),.65);animation:ae-health-pulse-urgent .9s ease-in-out infinite}.ae-health-dot--idle{background-color:#ffffff40;box-shadow:none}@keyframes ae-health-pulse-gentle{0%,to{opacity:1}50%{opacity:.55}}@keyframes ae-health-pulse-urgent{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}.homer-view{display:flex;flex-direction:column;gap:24px}.homer-view .story-section{background:rgba(var(--vsg-purple-rgb),.04);border-radius:12px;padding:20px 24px;border:1px solid rgba(var(--vsg-purple-rgb),.1)}.homer-view .story-section:hover{border-color:rgba(var(--vsg-purple-rgb),.2)}.homer-header{display:flex;align-items:center;justify-content:space-between;padding:0 4px}.homer-analyzed-at{font-size:12px;color:#ffffff59;font-family:var(--font-primary)}.homer-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.homer-loading-text{color:rgba(var(--vsg-purple-rgb),.8);font-family:var(--font-primary);font-size:14px}.homer-actions{display:flex;justify-content:center;padding:8px 0}.homer-error{color:rgba(var(--vsg-error-rgb),.9);font-size:12px;text-align:center;padding:4px 0}.homer-section-body{display:flex;flex-direction:column;gap:8px}.homer-text-line{color:#ffffffd9;font-size:14px;line-height:1.6;margin:0;font-family:var(--font-primary)}.homer-bullet-list{list-style:none;padding:0;margin:4px 0 0;display:flex;flex-direction:column;gap:6px}.homer-bullet{color:#ffffffbf;font-size:13px;line-height:1.5;padding-left:16px;position:relative;font-family:var(--font-primary)}.homer-bullet:before{content:"";position:absolute;left:0;top:8px;width:5px;height:5px;border-radius:50%;background:rgba(var(--vsg-purple-rgb),.5)}.homer-stale-badge{display:inline-block;margin-left:10px;background:rgba(var(--vsg-caution-rgb),.15);border:1px solid rgba(var(--vsg-caution-rgb),.3);color:var(--vsg-caution);border-radius:20px;padding:2px 10px;font-size:11px;font-weight:400;letter-spacing:.3px;vertical-align:middle}.homer-bold-prefix{color:rgba(var(--vsg-purple-rgb),.9);font-weight:400}.aeschylus-panel-section{display:flex;flex-direction:column;gap:8px}.aeschylus-section-label{font-family:var(--font-primary);font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:1px;color:#ffffff80;margin:0}.aeschylus-section-card{background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:12px}.aeschylus-field{display:flex;flex-direction:column;gap:4px}.aeschylus-field-label{font-family:var(--font-primary);font-size:12px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.7);text-transform:uppercase;letter-spacing:.5px}.aeschylus-field-value{font-family:var(--font-primary);font-size:14px;font-weight:400;color:#ffffffd9;line-height:1.5;margin:0;white-space:pre-wrap}.aeschylus-field-value.aeschylus-dimmed{color:#ffffff80;font-size:13px}.aeschylus-homer-text{border-left:2px solid rgba(var(--vsg-purple-rgb),.3);padding-left:12px}.aeschylus-homer-section{display:flex;flex-direction:column;gap:6px;padding:10px 0;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.08)}.aeschylus-homer-section:last-child{border-bottom:none;padding-bottom:0}.aeschylus-homer-section:first-child{padding-top:0}.aeschylus-homer-label{font-family:var(--font-primary);font-size:12px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.8);text-transform:uppercase;letter-spacing:.5px}.aeschylus-subsection-title{font-family:var(--font-primary);font-size:13px;font-weight:400;color:#fff9;margin:8px 0 4px}.aeschylus-list{margin:0;padding-left:18px;color:#fffc;font-size:13px;line-height:1.6}.aeschylus-list li{margin-bottom:2px}.aeschylus-edit-textarea{font-family:var(--font-primary);font-size:14px;font-weight:400;color:#ffffffe6;background:#0009;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;padding:10px;resize:vertical;width:100%;box-sizing:border-box;line-height:1.5;transition:border-color .2s}.aeschylus-edit-textarea:focus{outline:none;border-color:rgba(var(--vsg-purple-rgb),.6);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.15)}.aeschylus-edit-textarea::placeholder{color:#ffffff4d}.aeschylus-progress-card{gap:14px}.aeschylus-progress-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.aeschylus-stat{display:flex;flex-direction:column;gap:2px}.aeschylus-stat-label{font-family:var(--font-primary);font-size:11px;font-weight:400;color:#fff6;text-transform:uppercase;letter-spacing:.5px}.aeschylus-stat-value{font-family:var(--font-primary);font-size:15px;font-weight:400;color:#ffffffe6;font-variant-numeric:tabular-nums}.aeschylus-awaiting{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px solid rgba(var(--vsg-purple-rgb),.1)}.aeschylus-awaiting-list{display:flex;flex-wrap:wrap;gap:6px}.aeschylus-awaiting-badge{font-family:var(--font-primary);font-size:12px;font-weight:400;color:#ffffffd9;background:rgba(var(--vsg-purple-rgb),.15);border:1px solid rgba(var(--vsg-purple-rgb),.25);border-radius:20px;padding:3px 10px}.aeschylus-journal-toggle{cursor:pointer;display:flex;align-items:center;gap:6px;-webkit-user-select:none;user-select:none;transition:color .2s}.aeschylus-journal-toggle:hover{color:#ffffffb3}.aeschylus-journal-chevron{font-size:10px;color:rgba(var(--vsg-purple-rgb),.6)}.aeschylus-journal-meta{font-size:10px;color:#ffffff4d;text-transform:none;letter-spacing:0;margin-left:auto}.aeschylus-journal-card{gap:16px}.aeschylus-journal-table-section{display:flex;flex-direction:column;gap:6px}.aeschylus-journal-table{width:100%;border-collapse:collapse;font-family:var(--font-primary);font-size:12px;font-weight:400}.aeschylus-journal-table th{font-size:10px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.6);text-transform:uppercase;letter-spacing:.5px;text-align:left;padding:4px 8px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15)}.aeschylus-journal-table td{color:#fffc;padding:5px 8px;border-bottom:1px solid rgba(255,255,255,.04);vertical-align:top;line-height:1.4}.aeschylus-journal-table tr:last-child td{border-bottom:none}.aeschylus-journal-table td:first-child{color:#ffffffe6;white-space:nowrap}.aeschylus-journal-regen-btn{font-family:var(--font-primary);font-size:11px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.7);background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:6px;padding:4px 12px;cursor:pointer;transition:all .2s ease;align-self:flex-start}.aeschylus-journal-regen-btn:hover{color:rgba(var(--vsg-purple-rgb),1);border-color:rgba(var(--vsg-purple-rgb),.5);background:rgba(var(--vsg-purple-rgb),.08)}.aeschylus-journal-regen-note{font-family:var(--font-primary);font-size:10px;font-weight:400;color:rgba(var(--vsg-caution-rgb),.6);text-align:right}.iconic-scene-modal{background:#000000f2;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;max-width:550px;width:90%;max-height:calc(90 * var(--vh-fit));overflow-y:auto;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.2);align-self:center;margin:auto 0}.iconic-scene-modal .character-tag{background:rgba(var(--vsg-purple-rgb),.2);color:rgba(var(--vsg-purple-rgb),.8);border:1px solid rgba(var(--vsg-purple-rgb),.4)}.iconic-scene-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 8px}.iconic-scene-modal .modal-title{font-size:20px;font-weight:400;color:var(--vsg-purple);margin:0}.iconic-scene-subtitle{padding:12px 24px;font-size:13px;color:#ffffff80;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.iconic-scene-content{padding:24px}.iconic-scene-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 0}.iconic-scene-loading p{color:#ffffff80;font-size:14px;margin:0}.iconic-scene-not-available{color:#ffffff80;font-size:14px;text-align:center;padding:16px 0;margin:0}.iconic-scene-body{display:flex;flex-direction:column;gap:20px}.iconic-scene-description-block{border-left:3px solid rgba(var(--vsg-purple-rgb),.4);padding-left:16px}:where(.iconic-scene-modal) .iconic-scene-description{color:#fffffff2;font-size:15px;line-height:1.6;letter-spacing:.02em;margin:0}:where(.iconic-scene-modal) .iconic-scene-metadata{display:flex;flex-direction:column;gap:10px}:where(.iconic-scene-modal) .iconic-scene-row{display:flex;align-items:baseline;gap:8px}:where(.iconic-scene-modal) .iconic-scene-label{color:rgba(var(--vsg-purple-rgb),.7);font-size:13px;font-weight:400;white-space:nowrap}:where(.iconic-scene-modal) .iconic-scene-value{color:#ffffffd9;font-size:14px}.iconic-scene-modal::-webkit-scrollbar{width:6px}.iconic-scene-modal::-webkit-scrollbar-track{background:transparent}.iconic-scene-modal::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.3);border-radius:4px}.iconic-scene-modal::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.6)}.analysis-progress-drawer{position:fixed;bottom:0;right:24px;width:480px;max-width:calc(100 * var(--vw-fit) - 48px);z-index:100;border-radius:12px 12px 0 0;background:#000c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(var(--vsg-purple-rgb),.4);box-shadow:0 -8px 32px rgba(var(--vsg-purple-rgb),.2);font-family:var(--font-primary);color:#ffffffe6;display:flex;flex-direction:column;transition:max-height .25s ease;overflow:hidden}.analysis-progress-drawer--hidden{display:none}.analysis-progress-drawer--collapsed{max-height:56px}.analysis-progress-drawer--expanded,.analysis-progress-drawer--completing,.analysis-progress-drawer--cancelling,.analysis-progress-drawer--cancelled,.analysis-progress-drawer--error{max-height:320px}.analysis-progress-drawer-header{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15);min-height:56px;flex-shrink:0}.analysis-progress-drawer-collapse-toggle{background:transparent;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:var(--vsg-purple);transition:opacity .2s ease}.analysis-progress-drawer-collapse-toggle:hover{opacity:.7}.analysis-progress-drawer-title{flex:1;margin:0;color:var(--vsg-purple);font-family:var(--font-primary);font-size:1rem;font-weight:300;letter-spacing:.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analysis-progress-drawer-body{padding:12px 16px;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.analysis-progress-drawer-status{margin:0;color:#ffffffd9;font-size:14px;font-weight:400;line-height:1.4}.analysis-progress-drawer-error{margin:0;color:var(--vsg-magenta);font-size:14px;font-weight:400;line-height:1.4}.analysis-progress-drawer-bar{width:100%;height:6px;background:rgba(var(--vsg-purple-rgb),.15);border-radius:4px;overflow:hidden}.analysis-progress-drawer-bar-fill{height:100%;background:linear-gradient(90deg,var(--vsg-purple),rgba(var(--vsg-purple-rgb),.64));transition:width .3s ease}.analysis-progress-drawer-percent{margin:0;color:#ffffff80;font-size:12px;font-weight:400;text-align:right}.analysis-progress-drawer-revision{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(var(--vsg-purple-rgb),.1)}.analysis-progress-drawer-revision-text{margin:0;color:#ffffffd9;font-size:13px;font-weight:400;line-height:1.4}.analysis-progress-drawer-chunk-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px}.analysis-progress-drawer-chunk-text{color:#ffffffb3}.analysis-progress-drawer-history{margin-top:8px;padding-top:8px;border-top:1px solid rgba(var(--vsg-purple-rgb),.1)}.analysis-progress-drawer-history-label{margin:0 0 4px;color:rgba(var(--vsg-purple-rgb),.7);font-size:11px;font-weight:400;letter-spacing:.5px}.analysis-progress-drawer-history-list{list-style:none;margin:0;padding:0}.analysis-progress-drawer-history-item{color:#ffffff80;font-size:12px;font-weight:400;padding:2px 0}.analysis-progress-drawer-actions{display:flex;justify-content:flex-end;gap:8px;padding:10px 16px;border-top:1px solid rgba(var(--vsg-purple-rgb),.1);flex-shrink:0}.alert-icon{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;padding:0;cursor:default;color:var(--vsg-magenta)}.alert-icon-primary{color:var(--vsg-magenta)}.alert-icon-secondary{color:rgba(var(--vsg-magenta-rgb),.7)}.alert-icon.clickable{cursor:pointer}.alert-icon.disabled{opacity:.4;cursor:not-allowed}.alert-icon-xs .alert-svg{width:12px;height:12px}.alert-icon-tiny .alert-svg{width:13px;height:13px;vertical-align:text-bottom}.alert-icon-small{width:24px;height:24px;border-radius:6px}.alert-icon-small .alert-svg{width:16px;height:16px}.alert-icon-medium{width:32px;height:32px;border-radius:6px}.alert-icon-medium .alert-svg{width:20px;height:20px}.alert-icon.clickable:hover:not(.disabled){background:rgba(var(--vsg-magenta-rgb),.1)}.service-protection-banner{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;margin:8px 16px;border-radius:10px;border:1px solid rgba(var(--vsg-gold-rgb),.35);background:rgba(var(--vsg-gold-rgb),.08);font-family:var(--font-primary)}.service-protection-banner-icon{flex-shrink:0;display:flex;align-items:center;padding-top:2px}.service-protection-banner-content{flex:1;min-width:0}.service-protection-banner-body{font-size:.85rem;color:#ffffffd9;line-height:1.4}.xpa-calculator{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem;background:#000c;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px}.xpa-calc-header{display:flex;align-items:center;justify-content:space-between}.xpa-calc-title{font-family:var(--font-primary);font-size:1.25rem;font-weight:300;color:var(--vsg-purple);margin:0;letter-spacing:.5px}.xpa-calc-form{display:flex;flex-direction:column;gap:1.25rem}.xpa-calc-category{display:flex;flex-direction:column;gap:.75rem}.xpa-calc-category-title{font-family:var(--font-primary);font-size:.9rem;font-weight:300;color:#ffffffb3;margin:0;padding-bottom:.375rem;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15)}.xpa-calc-fields{display:flex;flex-direction:column;gap:.75rem}:where(.xpa-calculator) .xpa-calc-field{display:flex;flex-direction:column;gap:.25rem}:where(.xpa-calculator) .xpa-calc-value{font-family:var(--font-primary);font-size:1rem;color:var(--vsg-purple);padding:.5rem;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:6px}.xpa-calc-actions{display:flex;justify-content:center;padding-top:.5rem}.xpa-calc-actions .xpa-add-btn{max-width:300px}.xpa-calc-player-grid{overflow-x:auto}.xpa-calc-player-header{display:grid;grid-template-columns:200px repeat(auto-fill,80px);gap:.25rem;padding:.25rem 0}.xpa-calc-player-name{font-family:var(--font-primary);font-size:.7rem;color:#fff9;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xpa-calc-player-row{display:grid;grid-template-columns:200px repeat(auto-fill,80px);gap:.25rem;align-items:center;padding:.25rem 0}.xpa-calc-item-label{font-family:var(--font-primary);font-size:.8rem;color:#fffc}.xpa-calc-checkbox{text-align:center;cursor:pointer}.xpa-calc-checkbox input[type=checkbox]{accent-color:var(--vsg-purple)}.xpa-calc-checklist{display:flex;flex-direction:column;gap:.375rem}.xpa-calc-checkbox-item{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-family:var(--font-primary);font-size:.85rem;color:#fffc}.xpa-calc-checkbox-item input[type=checkbox]{accent-color:var(--vsg-purple)}.xpa-results{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid rgba(var(--vsg-purple-rgb),.2)}.xpa-results-table{display:flex;flex-direction:column;gap:.25rem}.xpa-results-header{display:grid;grid-template-columns:2fr 1fr 2fr 1fr 1.5fr;gap:.5rem;padding:.5rem;color:var(--vsg-purple);font-family:var(--font-primary);font-size:.7rem;text-transform:uppercase;letter-spacing:.5px}.xpa-results-row{display:grid;grid-template-columns:2fr 1fr 2fr 1fr 1.5fr;gap:.5rem;padding:.5rem;background:rgba(var(--vsg-purple-rgb),.03);border-radius:4px;align-items:center}.xpa-results-row:hover{background:rgba(var(--vsg-purple-rgb),.08)}.xpa-result-name{font-family:var(--font-primary);font-size:.85rem;color:#ffffffe6}.xpa-result-value{font-family:var(--font-primary);font-size:.8rem;color:#ffffffb3}.xpa-result-final{font-family:var(--font-primary);font-size:.9rem;color:var(--vsg-purple)}.end-session-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:endSessionFadeIn .2s ease-out}.end-session-modal{background:transparent;border-radius:12px;border:1px solid rgba(var(--vsg-purple-rgb),.4);box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-width:550px;width:90%;max-height:calc(85 * var(--vh-fit));overflow:hidden;animation:endSessionSlideUp .3s ease-out;display:flex;flex-direction:column}.end-session-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05);flex-shrink:0}.end-session-title{margin:0;font-family:var(--font-primary);font-size:1.25rem;font-weight:400;color:var(--vsg-purple);text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5)}.end-session-content{padding:24px;overflow-y:auto;flex:1;min-height:0;display:flex;flex-direction:column;gap:16px}.end-session-label{font-family:var(--font-primary);font-size:.9rem;font-weight:400;color:rgba(var(--vsg-purple-rgb),.9);text-transform:uppercase;letter-spacing:.5px;margin:0}.end-session-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.end-session-textarea{width:100%;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;color:#ffffffe6;font-family:var(--font-primary);font-size:14px;padding:12px;resize:vertical;min-height:60px;transition:border-color .2s ease;box-sizing:border-box}.end-session-textarea:focus{outline:none;border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 0 8px rgba(var(--vsg-purple-rgb),.15)}.end-session-pc-list{display:flex;flex-direction:column;gap:0;border:1px solid rgba(var(--vsg-purple-rgb),.1);border-radius:8px;overflow:hidden}.end-session-pc-row{display:flex;align-items:center;gap:12px;padding:12px 16px;background:rgba(var(--vsg-purple-rgb),.03);border-bottom:1px solid rgba(var(--vsg-purple-rgb),.08)}.end-session-pc-row:last-child{border-bottom:none}.end-session-pc-avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;flex-shrink:0}.end-session-pc-avatar img{width:100%;height:100%;object-fit:cover;border:2px solid rgba(var(--vsg-purple-rgb),.3);border-radius:50%}.end-session-pc-avatar-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--vsg-purple) 0%,rgba(var(--vsg-purple-rgb),.79) 100%);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:400;color:#fff;border-radius:50%}.end-session-pc-info{flex:1;min-width:0;display:flex;align-items:center;gap:6px}.end-session-pc-name{font-size:14px;font-weight:400;color:#fffffff2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.end-session-pc-player{font-size:12px;color:#ffffff80;white-space:nowrap}.end-session-pc-row .numeric-stepper{flex-shrink:0}.end-session-empty{padding:24px;text-align:center;color:#ffffff80;font-size:14px}.end-session-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05);flex-shrink:0}@keyframes endSessionFadeIn{0%{opacity:0}to{opacity:1}}@keyframes endSessionSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 600px){.end-session-modal{width:95%;max-height:calc(90 * var(--vh-fit))}.end-session-content{padding:16px}.end-session-pc-row{padding:10px 12px}}.admin-duplicate-banner{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;margin-bottom:16px;border-radius:10px;border:1px solid rgba(var(--vsg-caution-rgb),.35);background:rgba(var(--vsg-caution-rgb),.08);font-family:var(--font-primary)}.admin-duplicate-banner-icon{flex-shrink:0;display:flex;align-items:center;padding-top:2px}.admin-duplicate-banner-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.admin-duplicate-banner-title{font-size:.95rem;color:var(--vsg-caution);text-shadow:0 0 10px rgba(var(--vsg-caution-rgb),.3)}.admin-duplicate-banner-body{font-size:.85rem;color:#fffc;line-height:1.4}.admin-duplicate-banner-more{color:rgba(var(--vsg-caution-rgb),.7);font-size:.8rem}.admin-duplicate-banner-actions{flex-shrink:0;display:flex;gap:8px;align-items:flex-start}.analysis-annotations-block+.analysis-annotations-block{margin-top:12px}.analysis-annotations-lead{margin:0 0 6px;opacity:.85}.analysis-annotations-failed{color:var(--vsg-magenta)}.pipeline-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;font-family:var(--font-primary);font-weight:400;margin-bottom:12px}.pipeline-banner--partial{background:rgba(var(--vsg-caution-rgb),.15);border:1px solid rgba(var(--vsg-caution-rgb),.3)}.pipeline-banner--critical{background:rgba(var(--vsg-error-rgb),.15);border:1px solid rgba(var(--vsg-error-rgb),.3)}.pipeline-banner-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.pipeline-banner-message{color:#ffffffe6;font-size:13px;font-weight:400}.pipeline-banner--partial .pipeline-banner-message{color:rgba(var(--vsg-caution-rgb),.95)}.pipeline-banner--critical .pipeline-banner-message{color:rgba(var(--vsg-error-rgb),.95)}.pipeline-banner-detail{color:#fff9;font-size:12px;font-weight:400}.pipeline-banner-actions{margin-left:auto;display:flex;gap:8px;align-items:center;flex-shrink:0}.pipeline-banner-dismiss{background:none;border:none;color:#ffffff80;cursor:pointer;font-size:16px;padding:4px;line-height:1;transition:color .2s}.pipeline-banner-dismiss:hover{color:#fffc}.herodotus-modal-title-section{display:flex;align-items:center;gap:16px}.herodotus-modal-icon{width:48px;height:48px;border-radius:50%;border:2px solid var(--vsg-purple);object-fit:cover}.herodotus-modal-title-text h2{margin:0;color:#fffffff2;font-size:24px;font-weight:400}.herodotus-modal-subtitle{margin:4px 0 0;color:rgba(var(--vsg-purple-rgb),.7);font-size:14px}.herodotus-modal-ic-date{margin:8px 0 0;display:flex;align-items:center;gap:8px;font-size:13px}.ic-date-label{color:rgba(var(--vsg-purple-rgb),.7);font-weight:400}.ic-date-value{color:var(--vsg-purple);font-weight:400;font-family:var(--font-primary)}.ic-date-estimated{color:#ffffff80;font-style:normal;font-size:12px;cursor:help}.modal-close-btn{background:transparent;border:none;color:rgba(var(--vsg-purple-rgb),.7);font-size:24px;cursor:pointer;padding:8px;transition:color .2s}.modal-close-btn:hover{color:#fffffff2}.herodotus-modal-body{padding:24px;overflow-y:auto;flex:1}.herodotus-section{margin-bottom:24px}.herodotus-section:last-child{margin-bottom:0}.herodotus-section h3{color:rgba(var(--vsg-purple-rgb),.8);font-size:16px;font-weight:400;margin:0 0 12px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);padding-bottom:8px}.herodotus-summary{color:#ffffffd9;font-size:15px;line-height:1.6;margin:0}.herodotus-list{margin:0;padding-left:20px;color:#ffffffd9;font-size:14px;line-height:1.6}.herodotus-list li{margin-bottom:8px}.herodotus-list li:last-child{margin-bottom:0}.herodotus-tags{display:flex;flex-wrap:wrap;gap:8px}.theme-tag{background:rgba(var(--vsg-magenta-rgb),.2);color:#ffffffbd;border:1px solid rgba(var(--vsg-magenta-rgb),.4)}.herodotus-metadata{background:rgba(var(--vsg-purple-rgb),.1);border-radius:8px;padding:16px;margin-top:32px}.analysis-mvp{padding:8px 0}.analysis-mvp-name{font-size:15px;font-weight:400;color:#fffffff2}.analysis-mvp-reason{font-size:14px;color:#ffffffb3}.iconic-scene-section{border-left:3px solid rgba(var(--vsg-purple-rgb),.4);padding-left:16px}.iconic-scene-description{color:#fffffff2;font-size:15px;line-height:1.6;letter-spacing:.02em;margin:0 0 16px}.iconic-scene-metadata{display:flex;flex-direction:column;gap:8px}.iconic-scene-row{display:flex;align-items:baseline;gap:8px}.iconic-scene-label{color:rgba(var(--vsg-purple-rgb),.7);font-size:13px;font-weight:400;white-space:nowrap}.iconic-scene-value{color:#ffffffd9;font-size:14px}.iconic-scene-edit{display:flex;flex-direction:column;gap:8px}.herodotus-modal-footer{padding:20px 24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.3);display:flex;justify-content:flex-end;gap:12px}.herodotus-modal-footer .btn-secondary{padding:10px 24px;background:transparent;border:1px solid var(--vsg-purple);color:rgba(var(--vsg-purple-rgb),.8);border-radius:8px;font-size:14px;font-weight:400;cursor:pointer;transition:all .2s}.herodotus-modal-footer .btn-secondary:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.7);color:#fffffff2}.herodotus-modal-body::-webkit-scrollbar{width:8px}.herodotus-modal-body::-webkit-scrollbar-track{background:rgba(var(--vsg-purple-rgb),.1);border-radius:4px}.herodotus-modal-body::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.4);border-radius:4px}.herodotus-modal-body::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.6)}.herodotus-modal-header-actions{display:flex;align-items:center;gap:8px}.herodotus-delete-btn{background:transparent;border:none;padding:4px;cursor:pointer;color:var(--vsg-magenta);display:flex;align-items:center;justify-content:center;opacity:.7;transition:all .2s ease;font-size:16px;line-height:1}.herodotus-delete-btn:hover{opacity:1;transform:scale(1.2)}.herodotus-delete-btn:active{transform:scale(.95)}.herodotus-edit-textarea{width:100%;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:#ffffffd9;font-size:14px;line-height:1.6;padding:12px;resize:vertical;font-family:inherit;transition:border-color .2s,box-shadow .2s}.herodotus-edit-textarea:focus{outline:none;border-color:var(--vsg-purple);box-shadow:0 0 0 2px rgba(var(--vsg-purple-rgb),.2)}.herodotus-edit-textarea::placeholder{color:rgba(var(--vsg-purple-rgb),.4)}.herodotus-edit-input{width:100%;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:#ffffffd9;font-size:14px;padding:10px 12px;font-family:inherit;transition:border-color .2s,box-shadow .2s}.herodotus-edit-input:focus{outline:none;border-color:var(--vsg-purple);box-shadow:0 0 0 2px rgba(var(--vsg-purple-rgb),.2)}.herodotus-edit-input::placeholder{color:rgba(var(--vsg-purple-rgb),.4)}.herodotus-scene-section{background:rgba(var(--vsg-purple-rgb),.05);border-radius:8px;padding:16px;border:1px solid rgba(var(--vsg-purple-rgb),.15)}.temporal-data{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.temporal-row{display:flex;align-items:center;gap:8px}.temporal-label{color:rgba(var(--vsg-purple-rgb),.7);font-size:13px;font-weight:400}.temporal-value{color:var(--vsg-purple);font-size:13px;font-weight:400;background:rgba(var(--vsg-purple-rgb),.15);padding:4px 10px;border-radius:4px;border:1px solid rgba(var(--vsg-purple-rgb),.3)}.temporal-value.duration{background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple);border-color:rgba(var(--vsg-purple-rgb),.3)}.scene-field{margin-bottom:16px}.scene-field:last-child{margin-bottom:0}.scene-label{color:rgba(var(--vsg-purple-rgb),.7);font-size:13px;font-weight:400;display:block;margin-bottom:4px}.scene-value{color:#ffffffd9;font-size:14px;line-height:1.5;margin:0;font-style:normal}.continuation-analysis{margin-top:16px;padding-top:16px;border-top:1px solid rgba(var(--vsg-purple-rgb),.2)}.continuation-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.continuation-row:last-child{margin-bottom:0}.continuation-label{color:rgba(var(--vsg-purple-rgb),.7);font-size:13px;font-weight:400;min-width:140px}.continuation-value{font-size:13px;font-weight:400;padding:4px 10px;border-radius:4px}.continuation-value.yes{background:rgba(var(--vsg-purple-rgb),.2);color:var(--vsg-purple);border:1px solid rgba(var(--vsg-purple-rgb),.4)}.continuation-value.no{background:rgba(var(--vsg-magenta-rgb),.2);color:var(--vsg-magenta);border:1px solid rgba(var(--vsg-magenta-rgb),.4)}.continuation-value.session-link,.continuation-value.time-gap{background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple);border:1px solid rgba(var(--vsg-purple-rgb),.3)}.continuation-reasoning{margin-top:12px;padding-top:12px;border-top:1px dashed rgba(var(--vsg-purple-rgb),.2)}.reasoning-label{color:rgba(var(--vsg-purple-rgb),.6);font-size:12px;font-weight:400;display:block;margin-bottom:4px}.reasoning-value{color:#ffffffb3;font-size:13px;line-height:1.5;margin:0;font-style:normal}.ooc-header .herodotus-modal-header-actions{display:flex;align-items:center;gap:8px}.ooc-header .herodotus-delete-btn{background:transparent;border:none;padding:4px;cursor:pointer;color:var(--vsg-magenta);display:flex;align-items:center;justify-content:center;opacity:.7;transition:all .2s ease;font-size:16px;line-height:1}.ooc-header .herodotus-delete-btn:hover{opacity:1;transform:scale(1.2)}.ooc-header .herodotus-delete-btn:active{transform:scale(.95)}.ooc-modal .ooc-tone-indicator{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ooc-modal .tone-badge{padding:4px 12px;border-radius:20px;font-size:11px;font-family:var(--font-primary);font-weight:400;text-transform:uppercase;letter-spacing:1px;border:1px solid;background:transparent}.ooc-modal .tone-badge.small{padding:3px 10px;font-size:10px}.ooc-modal .tone-description{color:#ffffffd9;font-size:14px;line-height:1.5}.ooc-modal .topic-tag{background:rgba(var(--vsg-info-rgb),.2);color:var(--vsg-info);border:1px solid rgba(var(--vsg-info-rgb),.4)}.ooc-modal .decisions-list li{position:relative;padding-left:8px}.ooc-modal .decisions-list li::marker{color:rgba(var(--vsg-success-rgb),.77);content:"✓ "}.ooc-modal .player-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.ooc-modal .player-stat-card{background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:10px;padding:16px;transition:all .2s ease}.ooc-modal .player-stat-card:hover{background:rgba(var(--vsg-purple-rgb),.15);border-color:rgba(var(--vsg-purple-rgb),.5);transform:translateY(-2px)}.ooc-modal .player-stat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.ooc-modal .player-stat-card .player-name{font-size:15px}.ooc-modal .activity-badge{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:400;text-transform:capitalize}.ooc-modal .activity-badge.activity-high{background:rgba(var(--vsg-success-rgb),.15);color:var(--vsg-success);border:1px solid rgba(var(--vsg-success-rgb),.31)}.ooc-modal .activity-badge.activity-medium{background:rgba(var(--vsg-info-rgb),.2);color:var(--vsg-info);border:1px solid rgba(var(--vsg-info-rgb),.4)}.ooc-modal .activity-badge.activity-low{background:rgba(var(--vsg-gold-rgb),.2);color:var(--vsg-gold);border:1px solid rgba(var(--vsg-gold-rgb),.4)}.ooc-modal .activity-badge.activity-minimal{background:rgba(var(--vsg-info-rgb),.15);color:#ffffffd4;border:1px solid rgba(var(--vsg-info-rgb),.29)}.ooc-modal .player-stat-details{display:flex;flex-direction:row;gap:16px;margin-bottom:8px}.ooc-modal .player-stat-card .stat-row{display:flex;flex-direction:row;align-items:center;gap:6px;background:none;padding:0;border:none}.ooc-modal .player-stat-card .stat-label{color:rgba(var(--vsg-purple-rgb),.7);font-size:12px;text-transform:none}.ooc-modal .player-stat-card .stat-value{color:#fffffff2;font-size:13px;font-weight:400}.ooc-modal .player-topics{display:flex;flex-wrap:wrap;gap:6px;padding-top:8px;border-top:1px solid rgba(var(--vsg-purple-rgb),.2)}.ooc-modal .mini-tag{padding:3px 8px;border-radius:10px;font-size:10px;background:rgba(var(--vsg-info-rgb),.15);color:var(--vsg-info);border:1px solid rgba(var(--vsg-info-rgb),.3)}.ooc-modal .interactions-list{display:flex;flex-direction:column;gap:12px}.ooc-modal .interaction-card{background:rgba(var(--vsg-purple-rgb),.08);border:1px solid rgba(var(--vsg-purple-rgb),.25);border-radius:8px;padding:14px}.ooc-modal .interaction-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.ooc-modal .interaction-players{font-size:14px}.ooc-modal .interaction-description{color:#ffffffd9;font-size:13px;line-height:1.5;margin:0 0 8px}.ooc-modal .interaction-count{color:rgba(var(--vsg-purple-rgb),.7);font-size:12px;font-style:normal}.ooc-modal .styled-display-name-with-tooltip .gm-rank-tooltip{visibility:hidden;position:absolute;bottom:125%;left:50%;transform:translate(-50%);background:#000000f2;color:#fffffff2;padding:8px 12px;border-radius:6px;border:1px solid rgba(var(--vsg-purple-rgb),.4);font-size:.85rem;white-space:nowrap;z-index:10000;pointer-events:none;box-shadow:0 4px 12px #00000080}.ooc-modal .styled-display-name-with-tooltip:hover .gm-rank-tooltip{visibility:visible}.ooc-modal .herodotus-modal-actions{display:flex;gap:8px;align-items:center}.ooc-modal .ooc-scope-info{display:flex;flex-wrap:wrap;gap:12px}.ooc-modal .scope-badge{padding:8px 16px;border-radius:20px;font-size:13px;font-weight:400;background:rgba(var(--vsg-purple-rgb),.15);color:#ffffffd9;border:1px solid rgba(var(--vsg-purple-rgb),.4)}.ooc-modal .tone-evolution,.ooc-modal .engagement-trends{margin-top:12px;padding:12px;background:rgba(var(--vsg-surface-rgb),.6);border-radius:8px;font-size:13px;line-height:1.6;color:rgba(var(--vsg-purple-rgb),.8)}.ooc-modal .tone-evolution strong{color:#ffffffd9}.character-memory-panel{margin-bottom:24px;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;background:#0000004d;max-height:400px;overflow-y:auto}.character-memory-panel-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15)}.character-memory-panel-header h3{font-family:var(--font-primary);color:var(--vsg-purple);font-size:15px;font-weight:400;margin:0;border-bottom:none;padding-bottom:0}.character-memory-count{color:rgba(var(--vsg-purple-rgb),.7);font-size:12px}.memory-filter-bar{display:flex;gap:4px;padding:8px 16px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.1)}.memory-filter-btn{background:none;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:4px;padding:3px 10px;font-size:11px;color:rgba(var(--vsg-purple-rgb),.6);cursor:pointer;transition:all .15s ease}.memory-filter-btn:hover{border-color:rgba(var(--vsg-purple-rgb),.4);color:rgba(var(--vsg-purple-rgb),.9)}.memory-filter-btn.active{background:rgba(var(--vsg-purple-rgb),.15);border-color:rgba(var(--vsg-purple-rgb),.5);color:var(--vsg-purple)}.character-memory-loading,.character-memory-empty{padding:24px 16px;text-align:center;color:rgba(var(--vsg-purple-rgb),.6);font-size:13px}.character-memory-list{padding:8px 0}.character-memory-group{padding:0 16px;margin-bottom:12px}.character-memory-group:last-child{margin-bottom:8px}.character-memory-group-header{display:flex;justify-content:space-between;align-items:center;padding:6px 0;margin-bottom:6px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.1)}.character-memory-session-name{color:#ffffffc2;font-size:13px;font-weight:400}.character-memory-story-date{color:rgba(var(--vsg-purple-rgb),.6);font-size:11px}.character-memory-entry{padding:8px 0 8px 12px;border-left:2px solid rgba(var(--vsg-purple-rgb),.3);margin-bottom:6px}.character-memory-entry:last-child{margin-bottom:0}.memory-content-row{display:flex;align-items:flex-start;gap:8px}.character-memory-content{color:#ffffffed;font-size:13px;line-height:1.5;margin:0 0 6px;flex:1}.memory-actions{display:flex;align-items:center;gap:4px;opacity:0;transition:opacity .15s ease;flex-shrink:0}.character-memory-entry:hover .memory-actions{opacity:1}.memory-actions .trash-icon-small{width:24px;height:24px}.memory-edit-container{display:flex;flex-direction:column;gap:6px}.memory-edit-textarea{width:100%;min-height:60px;padding:8px 10px;background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:#ffffffed;font-size:13px;line-height:1.5;font-family:inherit;resize:vertical}.memory-edit-textarea:focus{outline:none;border-color:rgba(var(--vsg-purple-rgb),.6)}.memory-edit-buttons{display:flex;gap:6px;justify-content:flex-end}.memory-edit-btn{background:none;border:1px solid rgba(255,255,255,.2);border-radius:4px;padding:4px 12px;font-size:14px;cursor:pointer;transition:all .15s ease}.memory-save-btn{color:var(--vsg-success);border-color:rgba(var(--vsg-success-rgb),.3)}.memory-save-btn:hover:not(:disabled){background:rgba(var(--vsg-success-rgb),.15);border-color:rgba(var(--vsg-success-rgb),.5)}.memory-cancel-btn{color:var(--vsg-error);border-color:rgba(var(--vsg-error-rgb),.3)}.memory-cancel-btn:hover:not(:disabled){background:rgba(var(--vsg-error-rgb),.15);border-color:rgba(var(--vsg-error-rgb),.5)}.memory-edit-btn:disabled{opacity:.4;cursor:not-allowed}.memory-category-toggle{display:flex;gap:4px;margin-bottom:4px}.memory-category-toggle-btn{background:none;border:1px solid rgba(255,255,255,.15);border-radius:4px;padding:2px 10px;font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .15s ease;color:#ffffff80}.memory-category-toggle-btn:hover:not(:disabled){border-color:rgba(var(--vsg-purple-rgb),.4);color:rgba(var(--vsg-purple-rgb),.8)}.memory-category-toggle-btn.active{background:rgba(var(--vsg-purple-rgb),.15);border-color:rgba(var(--vsg-purple-rgb),.5);color:var(--vsg-purple)}.memory-category-toggle-btn:disabled{opacity:.4;cursor:not-allowed}.character-memory-entry.memory-entry-knowledge{border-left-color:rgba(var(--vsg-gold-rgb),.5)}.memory-category-badge.knowledge{display:inline-block;padding:1px 6px;border-radius:3px;font-size:9px;font-weight:400;letter-spacing:.5px;text-transform:uppercase;background:rgba(var(--vsg-gold-rgb),.15);color:var(--vsg-gold);border:1px solid rgba(var(--vsg-gold-rgb),.3);margin-right:6px;flex-shrink:0;align-self:flex-start;margin-top:2px}.character-memory-tags{display:flex;flex-wrap:wrap;gap:4px}.character-memory-tag{padding:2px 8px;border-radius:10px;font-size:11px;font-weight:400}.character-memory-tag.emotion-tag{background:rgba(var(--vsg-purple-rgb),.1);color:#ffffffc2;border:1px solid rgba(var(--vsg-purple-rgb),.2)}.character-memory-tag.involved-tag{background:rgba(var(--vsg-info-rgb),.15);color:var(--vsg-info);border:1px solid rgba(var(--vsg-info-rgb),.25)}.character-memory-modal{position:relative;background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:12px;width:90%;max-width:600px;height:calc(80 * var(--vh-fit));display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.character-memory-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05)}.character-memory-modal-header h2{font-family:var(--font-primary);color:var(--vsg-purple);font-size:1.25rem;font-weight:400;margin:0;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5)}.character-memory-modal .character-memory-panel{border:none;border-radius:0;background:transparent;max-height:none;overflow-y:auto;flex:1}.herodotus-character-modal-content{background:transparent;border:2px solid var(--vsg-purple);border-radius:12px;width:90%;max-height:calc(85 * var(--vh-fit));display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3);animation:slideUp .3s ease;font-family:var(--font-primary)}.herodotus-character-modal-header{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.3)}.herodotus-character-modal-title-section{display:flex;align-items:center;gap:16px}.herodotus-character-modal-icon{width:48px;height:48px;border-radius:50%;border:2px solid var(--vsg-purple);object-fit:cover;box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.3);flex-shrink:0}.herodotus-character-modal-icon.avatar-placeholder{display:flex;align-items:center;justify-content:center;background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple);font-size:20px}.herodotus-character-modal-title-text h2{margin:0;color:#ffffffed;font-size:24px;font-weight:400}.herodotus-character-modal-subtitle{margin:4px 0 0;color:#ffffffdb;font-size:14px}.herodotus-character-modal-body{padding:24px;overflow-y:auto;flex:1}.herodotus-character-section{margin-bottom:24px}.herodotus-character-section:last-child{margin-bottom:0}.herodotus-designation-range{color:#fff9;font-size:12px}.herodotus-character-section h3{color:#ffffffdb;font-size:16px;font-weight:400;margin:0 0 12px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);padding-bottom:8px}.herodotus-section-header-row{display:flex;justify-content:space-between;align-items:center}.herodotus-section-header-row h3{margin-bottom:0;border-bottom:none;padding-bottom:0;flex:1}.herodotus-character-summary{color:#ffffffed;font-size:15px;line-height:1.6;margin:0}.herodotus-character-list{margin:0;padding-left:20px;color:#ffffffed;font-size:14px;line-height:1.6}.herodotus-character-list li{margin-bottom:8px}.herodotus-character-list li:last-child{margin-bottom:0}.herodotus-character-tags{display:flex;flex-wrap:wrap;gap:8px}.herodotus-character-tag{padding:6px 12px;border-radius:16px;font-size:13px;font-weight:400;display:inline-block}.personality-tag{background:rgba(var(--vsg-purple-rgb),.2);color:#ffffffdb;border:1px solid rgba(var(--vsg-purple-rgb),.4)}.herodotus-character-modal-body .herodotus-tags{display:flex;flex-wrap:wrap;gap:8px}.herodotus-character-modal-body .herodotus-tag{padding:6px 12px;border-radius:16px;font-size:13px;font-weight:400;display:inline-block}.herodotus-character-modal-body .herodotus-tag.session-tag{background:rgba(var(--vsg-info-rgb),.2);color:var(--vsg-info);border:1px solid rgba(var(--vsg-info-rgb),.4)}.herodotus-character-modal-body .herodotus-tag.clickable{cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.herodotus-character-modal-body .herodotus-tag.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000004d}.herodotus-character-modal-body .herodotus-tag.clickable:active{transform:translateY(0)}.herodotus-character-modal-body .herodotus-tag.session-tag.clickable:hover{background:rgba(var(--vsg-info-rgb),.3);border-color:rgba(var(--vsg-info-rgb),.6);color:var(--vsg-info)}.relationships-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.relationship-item{background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;padding:12px}.relationship-name{color:#ffffffdb;font-size:14px;font-weight:400;margin-bottom:4px}.relationship-description{color:#ffffffc2;font-size:13px;line-height:1.4}.herodotus-psych-section .psych-profile{background:rgba(var(--vsg-purple-rgb),.08);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;padding:16px}.psych-field{margin-bottom:16px}.psych-field:last-child{margin-bottom:0}.psych-field strong{color:#ffffffdb;display:block;margin-bottom:8px;font-size:13px}.psych-list{margin:0;padding-left:20px}.psych-list li{margin-bottom:4px}.psych-worldview{color:#ffffffed;font-size:14px;line-height:1.6;margin:0;font-style:normal;padding:8px 12px;background:rgba(var(--vsg-purple-rgb),.1);border-left:3px solid var(--vsg-purple);border-radius:0 6px 6px 0}.psych-social-style{color:#ffffffed;font-size:14px;text-transform:capitalize;padding:4px 12px;background:rgba(var(--vsg-purple-rgb),.15);border-radius:12px;display:inline-block}.psych-trait-tag{background:rgba(var(--vsg-purple-rgb),.2);color:var(--vsg-info);border:1px solid rgba(var(--vsg-purple-rgb),.4)}.psych-trigger-tag{background:rgba(var(--vsg-error-rgb),.2);color:var(--vsg-error);border:1px solid rgba(var(--vsg-error-rgb),.4)}.herodotus-voice-section .voice-profile{background:rgba(var(--vsg-purple-rgb),.08);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;padding:16px}.voice-profile .voice-description,.voice-profile .voice-personality{color:#ffffffed;font-size:14px;line-height:1.6;margin-bottom:12px}.voice-profile .voice-description strong,.voice-profile .voice-personality strong,.voice-profile .voice-examples strong{color:#ffffffdb;display:block;margin-bottom:4px;font-size:13px}.voice-profile .voice-examples{margin-top:12px}.voice-profile .example-phrases-list{margin:8px 0 0;padding-left:0;list-style:none}.voice-profile .example-phrase{color:#ffffffc2;font-size:14px;font-style:normal;padding:8px 12px;margin-bottom:8px;background:rgba(var(--vsg-purple-rgb),.1);border-left:3px solid var(--vsg-purple);border-radius:0 6px 6px 0}.voice-profile .example-phrase:last-child{margin-bottom:0}.herodotus-story-history-section .story-history-list{display:flex;flex-direction:column;gap:16px}.story-history-entry{background:rgba(var(--vsg-purple-rgb),.08);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;padding:16px}.story-history-session{color:#ffffffdb;font-size:15px;font-weight:400;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.story-history-events{margin:0;padding-left:20px;color:#ffffffed;font-size:13px;line-height:1.7}.story-history-events li{margin-bottom:8px;position:relative}.story-history-events li:last-child{margin-bottom:0}.story-history-events li::marker{color:var(--vsg-purple)}.session-appearances-list{display:flex;flex-direction:column;gap:12px}.session-appearance-item{background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.25);border-radius:8px;padding:12px 16px}.session-appearance-name{color:#ffffffdb;font-size:14px;font-weight:400;margin-bottom:4px}.session-appearance-summary{color:#ffffffc2;font-size:13px;line-height:1.5}.appearances-info{display:flex;align-items:center;gap:8px}.appearances-count{background:rgba(var(--vsg-purple-rgb),.2);color:#ffffffdb;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:400;border:1px solid rgba(var(--vsg-purple-rgb),.3)}.herodotus-character-metadata{background:rgba(var(--vsg-purple-rgb),.1);border-radius:8px;padding:16px;margin-top:32px}.herodotus-character-modal-footer{padding:20px 24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.3);display:flex;justify-content:flex-end;gap:12px}.herodotus-character-modal-footer .btn-secondary{padding:10px 24px;background:transparent;border:1px solid var(--vsg-purple);color:#ffffffdb;border-radius:8px;font-size:14px;font-weight:400;cursor:pointer;transition:all .2s}.herodotus-character-modal-footer .btn-secondary:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:#ffffffdb;color:#ffffffed}.herodotus-character-modal-body::-webkit-scrollbar{width:8px}.herodotus-character-modal-body::-webkit-scrollbar-track{background:rgba(var(--vsg-purple-rgb),.1);border-radius:4px}.herodotus-character-modal-body::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.4);border-radius:4px}.herodotus-character-modal-body::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.6)}.herodotus-character-modal-header .herodotus-modal-header-actions{display:flex;align-items:center;gap:8px}.herodotus-character-modal-header .herodotus-delete-btn{background:transparent;border:none;padding:4px;cursor:pointer;color:var(--vsg-magenta);display:flex;align-items:center;justify-content:center;opacity:.7;transition:all .2s ease;font-size:16px;line-height:1}.herodotus-character-modal-header .herodotus-delete-btn:hover{opacity:1;transform:scale(1.2)}.herodotus-character-modal-header .herodotus-delete-btn:active{transform:scale(.95)}.herodotus-character-modal-body .herodotus-edit-textarea{width:100%;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:#ffffffdb;font-size:14px;line-height:1.6;padding:12px;resize:vertical;font-family:inherit;transition:border-color .2s,box-shadow .2s}.herodotus-character-modal-body .herodotus-edit-textarea:focus{outline:none;border-color:var(--vsg-purple);box-shadow:0 0 0 2px rgba(var(--vsg-purple-rgb),.2)}.herodotus-character-modal-body .herodotus-edit-textarea::placeholder{color:rgba(var(--vsg-purple-rgb),.5)}.herodotus-character-modal-body .herodotus-edit-input{width:100%;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:#ffffffdb;font-size:14px;line-height:1.6;padding:8px 12px;font-family:inherit;transition:border-color .2s,box-shadow .2s}.herodotus-character-modal-body .herodotus-edit-input:focus{outline:none;border-color:var(--vsg-purple);box-shadow:0 0 0 2px rgba(var(--vsg-purple-rgb),.2)}.herodotus-character-modal-body .herodotus-edit-input::placeholder{color:rgba(var(--vsg-purple-rgb),.5)}.relationships-edit{display:flex;flex-direction:column;gap:12px}.relationship-edit-item{background:rgba(var(--vsg-purple-rgb),.08);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:8px}.relationship-edit-header{display:flex;gap:8px;align-items:center}.relationship-edit-header .herodotus-edit-input{flex:1}.herodotus-edit-remove-btn{background:rgba(var(--vsg-error-rgb),.2);border:1px solid rgba(var(--vsg-error-rgb),.4);color:var(--vsg-error);border-radius:6px;width:32px;height:32px;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.herodotus-edit-remove-btn:hover{background:rgba(var(--vsg-error-rgb),.3);border-color:rgba(var(--vsg-error-rgb),.6)}.herodotus-edit-add-btn{background:rgba(var(--vsg-purple-rgb),.1);border:1px dashed rgba(var(--vsg-purple-rgb),.4);color:#ffffffc2;border-radius:8px;padding:10px;cursor:pointer;font-size:14px;font-family:inherit;transition:all .2s}.herodotus-edit-add-btn:hover{background:rgba(var(--vsg-purple-rgb),.2);border-color:var(--vsg-purple);color:#ffffffdb}.herodotus-appearance-log{display:flex;flex-direction:column;gap:12px}.herodotus-appearance-entry{display:flex;flex-direction:column;gap:4px;padding:12px;background:rgba(var(--vsg-purple-rgb),.08);border-left:3px solid var(--vsg-purple);border-radius:4px}.herodotus-appearance-description{color:#ffffffed;font-size:14px;line-height:1.5}.herodotus-appearance-session{color:var(--vsg-purple);font-size:12px;font-style:normal}.herodotus-appearance-edit{display:flex;flex-direction:column;gap:16px}.herodotus-appearance-entry-edit{display:flex;flex-direction:column;gap:8px;padding:12px;background:rgba(var(--vsg-purple-rgb),.05);border-radius:8px}.herodotus-appearance-entry-edit .herodotus-appearance-session{align-self:flex-end}.herodotus-appearance-creator{border-left-color:var(--vsg-gold);background:rgba(var(--vsg-gold-rgb),.1)}.herodotus-appearance-creator .herodotus-appearance-session{color:var(--vsg-gold)}.herodotus-player-modal-content{background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;width:90%;max-width:700px;max-height:calc(85 * var(--vh-fit));display:flex;flex-direction:column;box-shadow:0 20px 60px #0009,0 0 40px rgba(var(--vsg-purple-rgb),.15),inset 0 1px #ffffff0d;animation:slideUp .3s ease;font-family:var(--font-primary)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.herodotus-player-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.03)}.herodotus-player-modal-title-section{display:flex;align-items:center;gap:16px}.herodotus-player-modal-avatar{flex-shrink:0}.herodotus-player-modal-title-text h2{margin:0;color:var(--vsg-purple);font-size:24px;font-weight:400;font-family:var(--font-primary);letter-spacing:.5px;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.3)}.herodotus-player-modal-subtitle{margin:4px 0 0;color:rgba(var(--vsg-purple-rgb),.7);font-size:13px;font-family:var(--font-primary);letter-spacing:.3px}.herodotus-player-modal-content .modal-close-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff9;font-size:24px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;line-height:1}.herodotus-player-modal-content .modal-close-btn:hover{background:rgba(var(--vsg-magenta-rgb),.15);border-color:rgba(var(--vsg-magenta-rgb),.3);color:var(--vsg-magenta);transform:scale(1.05)}.herodotus-player-modal-header .herodotus-modal-header-actions{display:flex;align-items:center;gap:8px}.herodotus-player-modal-header .herodotus-delete-btn{background:transparent;border:none;padding:4px;cursor:pointer;color:var(--vsg-magenta);display:flex;align-items:center;justify-content:center;opacity:.7;transition:all .2s ease;font-size:16px;line-height:1}.herodotus-player-modal-header .herodotus-delete-btn:hover{opacity:1;transform:scale(1.2)}.herodotus-player-modal-header .herodotus-delete-btn:active{transform:scale(.95)}.herodotus-player-modal-body{padding:24px;overflow-y:auto;flex:1}.herodotus-player-loading,.herodotus-player-empty{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--vsg-purple)}.herodotus-player-empty-text{color:#ffffff73;font-style:normal}.herodotus-player-section{margin-bottom:24px}.herodotus-player-section:last-child{margin-bottom:0}.herodotus-player-section h3{color:var(--vsg-purple);font-size:16px;font-weight:400;font-family:var(--font-primary);margin:0 0 12px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);padding-bottom:8px}.herodotus-player-summary{color:#ffffffd9;font-size:15px;line-height:1.6;margin:0}.herodotus-player-stats{display:flex;flex-wrap:wrap;gap:12px}.herodotus-player-modal-content .stat-item{display:flex;flex-direction:column;align-items:center;padding:14px 20px;background:rgba(var(--vsg-purple-rgb),.08);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:10px;min-width:100px;transition:all .2s ease}.herodotus-player-modal-content .stat-item:hover{background:rgba(var(--vsg-purple-rgb),.12);border-color:rgba(var(--vsg-purple-rgb),.3)}.herodotus-player-modal-content .stat-value{font-size:24px;font-weight:400;color:var(--vsg-purple);font-family:var(--font-primary)}.herodotus-player-modal-content .stat-value.engagement{font-size:14px;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:.5px}.herodotus-player-modal-content .stat-label{font-size:11px;color:rgba(var(--vsg-purple-rgb),.7);margin-top:6px;text-transform:uppercase;letter-spacing:1px;font-family:var(--font-primary)}.herodotus-player-role{background:rgba(var(--vsg-purple-rgb),.08);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:10px;padding:16px}.herodotus-player-modal-content .role-badge{display:inline-block;background:rgba(var(--vsg-purple-rgb),.2);color:var(--vsg-purple);padding:6px 16px;border-radius:20px;border:1px solid rgba(var(--vsg-purple-rgb),.4);font-weight:400;font-size:13px;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.herodotus-player-modal-content .role-description{color:#fffc;font-size:14px;line-height:1.6;margin:0}.herodotus-player-tags{display:flex;flex-wrap:wrap;gap:8px}.herodotus-player-tag{padding:5px 12px;border-radius:20px;font-size:12px;font-weight:400;font-family:var(--font-primary);transition:all .2s ease}.herodotus-player-modal-content .playstyle-tag{background:rgba(var(--vsg-purple-rgb),.15);color:#ffffffd9;border:1px solid rgba(var(--vsg-purple-rgb),.25)}.herodotus-player-modal-content .playstyle-tag:hover{background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.4)}.herodotus-player-modal-content .taste-tag{background:rgba(var(--vsg-magenta-rgb),.15);color:#ffffffbf;border:1px solid rgba(var(--vsg-magenta-rgb),.25)}.herodotus-player-modal-content .taste-tag:hover{background:rgba(var(--vsg-magenta-rgb),.2);border-color:rgba(var(--vsg-magenta-rgb),.4)}.herodotus-player-modal-content .interest-tag{background:#ffffff0d;color:#fffc;border:1px solid rgba(255,255,255,.15)}.herodotus-player-modal-content .interest-tag:hover{background:#ffffff14;border-color:#ffffff40}.herodotus-player-modal-content .rp-tag{background:rgba(var(--vsg-info-rgb),.15);color:rgba(var(--vsg-info-rgb),.95);border:1px solid rgba(var(--vsg-info-rgb),.25)}.herodotus-player-modal-content .rp-tag:hover{background:rgba(var(--vsg-info-rgb),.2);border-color:rgba(var(--vsg-info-rgb),.4)}.herodotus-player-modal-content .gm-tag{background:rgba(var(--vsg-caution-rgb),.15);color:rgba(var(--vsg-gold-rgb),.95);border:1px solid rgba(var(--vsg-caution-rgb),.25)}.herodotus-player-modal-content .gm-tag:hover{background:rgba(var(--vsg-caution-rgb),.2);border-color:rgba(var(--vsg-caution-rgb),.4)}.herodotus-player-text{color:#fffc;font-size:14px;line-height:1.6;margin:0}.herodotus-player-list{margin:0;padding-left:20px;color:#fffc;font-size:14px;line-height:1.8}.herodotus-player-list li{margin-bottom:4px}.strengths-list li::marker{color:var(--vsg-purple)}.tendencies-list li::marker{color:var(--vsg-gold)}.herodotus-player-characters{display:flex;flex-wrap:wrap;gap:8px}.character-link-btn{display:flex;align-items:center;gap:8px;padding:6px 12px;background:rgba(var(--vsg-purple-rgb),.08);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:10px;color:#ffffffd9;font-size:13px;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.character-link-btn:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.15);border-color:rgba(var(--vsg-purple-rgb),.4);transform:scale(1.02);box-shadow:0 4px 15px rgba(var(--vsg-purple-rgb),.2)}.character-link-btn:disabled{cursor:default;opacity:.6}.character-type-badge{padding:4px 8px;border-radius:20px;font-size:10px;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:1px;font-weight:400;background:rgba(var(--vsg-purple-rgb),.25);color:var(--vsg-purple);border:1px solid rgba(var(--vsg-purple-rgb),.5);min-width:28px;text-align:center}.herodotus-player-modal-content .character-name{color:#ffffffe6}.character-first-appearance{font-size:10px;color:#fff6;font-style:normal;margin-left:auto;padding-left:8px}.herodotus-player-channels{display:flex;flex-direction:column;gap:16px}.channel-group{display:flex;flex-direction:column;gap:10px}.channel-group-label{font-size:11px;color:var(--vsg-purple);text-transform:uppercase;letter-spacing:1px;font-weight:400;font-family:var(--font-primary)}.herodotus-player-modal-content .channel-tag{font-size:11px;padding:5px 12px;border-radius:20px;font-family:var(--font-primary)}.herodotus-player-modal-content .channel-tag.ooc{background:rgba(var(--vsg-purple-rgb),.12);color:#fffc;border:1px solid rgba(var(--vsg-purple-rgb),.2)}.herodotus-player-modal-content .channel-tag.ic{background:rgba(var(--vsg-gold-rgb),.12);color:var(--vsg-gold);border:1px solid rgba(var(--vsg-gold-rgb),.2)}.herodotus-player-timeline{display:flex;flex-wrap:wrap;gap:12px}.herodotus-player-modal-content .timeline-item{display:flex;flex-direction:column;gap:6px;padding:12px 18px;background:rgba(var(--vsg-purple-rgb),.08);border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:10px;transition:all .2s ease}.herodotus-player-modal-content .timeline-item:hover{background:rgba(var(--vsg-purple-rgb),.12);border-color:rgba(var(--vsg-purple-rgb),.25)}.herodotus-player-modal-content .timeline-label{font-size:10px;color:var(--vsg-purple);text-transform:uppercase;letter-spacing:1px;font-family:var(--font-primary)}.herodotus-player-modal-content .timeline-value{font-size:14px;color:#ffffffe6;font-weight:400}.herodotus-player-modal-body::-webkit-scrollbar{width:8px}.herodotus-player-modal-body::-webkit-scrollbar-track{background:#0000004d;border-radius:4px}.herodotus-player-modal-body::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.2);border-radius:4px}.herodotus-player-modal-body::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.3)}.herodotus-player-modal-content:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:60%;height:2px;background:linear-gradient(90deg,transparent,rgba(var(--vsg-purple-rgb),.5),rgba(var(--vsg-purple-rgb),.8),rgba(var(--vsg-purple-rgb),.5),transparent);border-radius:2px}.herodotus-player-ai-badge{display:inline-flex;align-items:center;margin-left:12px;padding:3px 10px;background:rgba(var(--vsg-success-rgb),.15);border:1px solid rgba(var(--vsg-success-rgb),.29);border-radius:12px;font-size:11px;font-weight:400;color:rgba(var(--vsg-success-rgb),.73);letter-spacing:.5px;text-transform:uppercase;cursor:help;vertical-align:middle}.check-icon{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;padding:0;cursor:default;color:var(--vsg-purple)}.check-icon-primary{color:var(--vsg-purple)}.check-icon-secondary{color:rgba(var(--vsg-purple-rgb),.7)}.check-icon.clickable{cursor:pointer}.check-icon.disabled{opacity:.4;cursor:not-allowed}.check-icon-xs .check-svg{width:12px;height:12px}.check-icon-tiny .check-svg{width:13px;height:13px;vertical-align:text-bottom}.check-icon-small{width:24px;height:24px;border-radius:6px}.check-icon-small .check-svg{width:16px;height:16px}.check-icon-medium{width:32px;height:32px;border-radius:6px}.check-icon-medium .check-svg{width:20px;height:20px}.check-icon.clickable:hover:not(.disabled){background:rgba(var(--vsg-purple-rgb),.1)}.x-icon{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;padding:0;cursor:default;color:var(--vsg-magenta)}.x-icon-primary{color:var(--vsg-magenta)}.x-icon-secondary{color:rgba(var(--vsg-magenta-rgb),.7)}.x-icon.clickable{cursor:pointer}.x-icon.disabled{opacity:.4;cursor:not-allowed}.x-icon-xs .x-svg{width:12px;height:12px}.x-icon-tiny .x-svg{width:13px;height:13px;vertical-align:text-bottom}.x-icon-small{width:24px;height:24px;border-radius:6px}.x-icon-small .x-svg{width:16px;height:16px}.x-icon-medium{width:32px;height:32px;border-radius:6px}.x-icon-medium .x-svg{width:20px;height:20px}.x-icon.clickable:hover:not(.disabled){background:rgba(var(--vsg-magenta-rgb),.1)}.correction-history-modal{background:var(--vsg-surface);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;max-width:700px;width:calc(100% - 40px);max-height:calc(80 * var(--vh-fit));display:flex;flex-direction:column;box-shadow:0 20px 60px #0009}.correction-history-header{padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.08)}.correction-history-header h2{margin:0;color:#fffffff2;font-size:18px;font-weight:400}.correction-history-body{padding:16px 24px;flex:1;overflow-y:auto;min-height:200px}.correction-history-loading,.correction-history-empty,.correction-history-error{display:flex;align-items:center;justify-content:center;padding:40px 0;color:#fff9;font-size:14px}.correction-history-error{color:var(--vsg-error)}.correction-history-groups{display:flex;flex-direction:column;gap:24px}.correction-history-day{margin:0 0 8px;font-size:13px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.9);letter-spacing:.5px;text-transform:uppercase;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);padding-bottom:4px}.correction-history-list{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:12px}.correction-history-entry{background:#ffffff08;border-radius:6px;padding:12px 14px}.correction-history-entry-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px;font-size:12px}.correction-history-time{color:#ffffff80}.correction-history-scope{color:rgba(var(--vsg-purple-rgb),.8);text-transform:capitalize}.correction-history-note{margin:0 0 8px;color:#ffffffd9;font-size:13px;font-style:normal;line-height:1.4}.correction-history-directives{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:4px}.correction-history-directive{display:flex;align-items:center;gap:8px;font-size:12px;color:#ffffffbf}.correction-history-directive-icon{display:inline-flex}.correction-history-directive-skipped .correction-history-directive-kind,.correction-history-directive-failed .correction-history-directive-kind{color:#ffffff8c}.correction-history-verify-badge{margin-left:auto;font-size:10px;padding:2px 6px;border-radius:8px;background:rgba(var(--vsg-gold-rgb),.15);color:var(--vsg-gold);text-transform:uppercase;letter-spacing:.5px}.correction-history-footer{padding:16px 24px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:flex-end}.import-queue-edit-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.import-queue-edit-modal{background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3);min-width:420px;max-width:520px;max-height:calc(80 * var(--vh-fit));display:flex;flex-direction:column}.import-queue-edit-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 12px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15)}.import-queue-edit-title{margin:0;color:var(--vsg-purple);font-family:var(--font-primary);font-size:1.1rem;font-weight:400;letter-spacing:.5px;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5)}.import-queue-edit-hint{margin:0;padding:12px 24px;color:#ffffff80;font-size:12px;line-height:1.4}.import-queue-edit-list{flex:1;overflow-y:auto;padding:4px 24px 16px;max-height:calc(60 * var(--vh-fit))}.import-queue-edit-list::-webkit-scrollbar{width:6px}.import-queue-edit-list::-webkit-scrollbar-track{background:rgba(var(--vsg-purple-rgb),.05);border-radius:3px}.import-queue-edit-list::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.3);border-radius:3px}.import-queue-edit-list::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.5)}.import-queue-edit-item{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05)}.import-queue-edit-item:last-child{border-bottom:none}.import-queue-edit-item-info{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.import-queue-edit-item-name{color:#ffffffe6;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.import-queue-edit-item.is-disabled .import-queue-edit-item-name{color:#ffffff80}.import-queue-edit-badge{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:400;white-space:nowrap;flex-shrink:0}.import-queue-edit-badge.classification{color:rgba(var(--vsg-purple-rgb),.8);background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.2)}.import-queue-edit-badge.status-done{color:rgba(var(--vsg-success-rgb),.9);background:rgba(var(--vsg-success-rgb),.1);border:1px solid rgba(var(--vsg-success-rgb),.2)}.import-queue-edit-badge.status-fetching{color:rgba(var(--vsg-purple-rgb),.9);background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3)}.import-queue-edit-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.15)}.import-queue-edit-loading{display:flex;align-items:center;justify-content:center;padding:40px 24px}.import-result-summary{display:flex;flex-direction:column;gap:1.5rem;padding:2rem;max-height:calc(80 * var(--vh-fit));overflow-y:auto;font-family:var(--font-primary)}.import-result-header{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem;padding-bottom:1rem;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15)}.import-result-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center}.import-result-icon svg{width:100%;height:100%;filter:drop-shadow(0 0 12px currentColor)}.import-result-header-success .import-result-icon{color:var(--vsg-purple)}.import-result-header-warning .import-result-icon,.import-result-header-error .import-result-icon{color:var(--vsg-magenta)}.import-result-title{font-family:var(--font-primary);font-size:1.5rem;font-weight:400;margin:0;color:#fffffff2;letter-spacing:.3px;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.3)}.import-result-subtitle{font-family:var(--font-primary);font-size:.95rem;font-weight:400;margin:0;color:#ffffffb3;max-width:500px;letter-spacing:.3px}.import-result-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;padding:1rem 0}.import-result-stat{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1rem;background:#0000004d;border-radius:10px;border:1px solid rgba(var(--vsg-purple-rgb),.15)}.import-result-stat-value{font-family:var(--font-primary);font-size:1.75rem;font-weight:400;color:#fffffff2;font-variant-numeric:tabular-nums;text-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.2)}.import-result-stat-divider{margin:0 .2rem;color:#fff6;font-weight:400}.import-result-stat-label{font-family:var(--font-primary);font-size:.7rem;font-weight:400;text-transform:uppercase;letter-spacing:1.5px;color:rgba(var(--vsg-purple-rgb),.8);margin-top:.35rem}.import-result-failed-list{display:flex;flex-direction:column;gap:1rem}.import-result-failed-heading{font-family:var(--font-primary);font-size:.75rem;font-weight:400;margin:0;text-transform:uppercase;letter-spacing:1.5px;color:rgba(var(--vsg-purple-rgb),.8)}.import-result-error-groups{display:flex;flex-wrap:wrap;gap:.5rem}.import-result-error-group{display:inline-flex;align-items:center;gap:.5rem;padding:4px 12px;background:rgba(var(--vsg-magenta-rgb),.1);border:1px solid rgba(var(--vsg-magenta-rgb),.3);border-radius:20px;font-family:var(--font-primary);font-size:.8rem;font-weight:400;color:var(--vsg-magenta);letter-spacing:.3px}.import-result-error-group-count{font-family:var(--font-primary);font-weight:400;font-variant-numeric:tabular-nums}.import-result-channel-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem;max-height:400px;overflow-y:auto}.import-result-channel-item{padding:.85rem 1rem;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-left:3px solid var(--vsg-magenta);border-radius:8px;display:flex;flex-direction:column;gap:.35rem}.import-result-channel-name{font-family:var(--font-primary);font-size:.95rem;font-weight:400;color:#fffffff2;letter-spacing:.3px}.import-result-channel-category{font-family:var(--font-primary);font-weight:400;color:#ffffff80;font-size:.85rem}.import-result-channel-message{font-family:var(--font-primary);font-size:.85rem;font-weight:400;color:#fffc;letter-spacing:.3px}.import-result-channel-fix{font-family:var(--font-primary);font-size:.85rem;font-weight:400;color:var(--vsg-purple);letter-spacing:.3px}.import-result-show-more{align-self:flex-start;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);color:rgba(var(--vsg-purple-rgb),.8);padding:.5rem 1.25rem;border-radius:10px;font-family:var(--font-primary);font-size:.8rem;font-weight:400;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:all .2s ease}.import-result-show-more:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.5);color:var(--vsg-purple);box-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.2)}.import-result-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid rgba(var(--vsg-purple-rgb),.15)}.upgrade-pending-overlay .import-result-header{padding-bottom:1.5rem}.upgrade-pending-overlay .import-result-actions{justify-content:center;border-top:none;padding-top:1.5rem}.discord-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.discord-modal{background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;width:800px;min-width:800px;max-width:800px;height:calc(80 * var(--vh-fit));min-height:calc(80 * var(--vh-fit));max-height:calc(80 * var(--vh-fit));overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(var(--vsg-purple-rgb),.2);animation:slideUp .3s ease;position:relative}.discord-modal:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:url(/assets/pheidippides-e1-7YKTyNzj.jpg);background-size:cover;background-position:center top;background-repeat:no-repeat;opacity:.45;pointer-events:none;z-index:0}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.discord-modal-header{background:rgba(var(--vsg-purple-rgb),.1);padding:20px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);position:relative;z-index:1;flex-shrink:0}.discord-modal-header h2{margin:0;color:var(--vsg-purple);font-family:var(--font-primary);font-size:24px;font-weight:400}.modal-close{background:none;border:none;color:#fff9;font-size:28px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:all .2s;transform:rotate(90deg)}.modal-close:hover{color:var(--vsg-purple);transform:rotate(90deg)}.discord-modal-body{padding:24px;overflow-y:auto;flex:1;min-height:0;position:relative;z-index:1}.discord-modal-body:has(.step-channel-select){overflow-y:hidden;padding:0;display:flex;flex-direction:column}.step-instructions h3{color:#fff;margin-bottom:24px;font-size:20px;font-weight:400}.instruction-steps{margin-bottom:12px}.instruction-step{display:flex;margin-bottom:24px;padding:20px;background:#ffffff05;border-radius:8px;border:1px solid rgba(var(--vsg-purple-rgb),.1);transition:all .3s}.instruction-step:hover{background:rgba(var(--vsg-purple-rgb),.05);border-color:rgba(var(--vsg-purple-rgb),.2)}.intro-text{color:#ffffffb3;font-size:16px;margin-bottom:24px;text-align:center}.external-link{color:var(--vsg-purple);text-decoration:none;display:inline-flex;align-items:center;margin-top:8px;transition:color .2s}.external-link:hover{color:var(--vsg-purple);text-decoration:underline}.pheidippides-invite{display:flex;align-items:center;padding:16px;background:rgba(var(--vsg-purple-rgb),.08);border:2px solid rgba(var(--vsg-purple-rgb),.4);border-radius:8px;margin:16px 0;text-decoration:none;transition:all .3s ease}.pheidippides-invite:hover{background:rgba(var(--vsg-purple-rgb),.15);border-color:var(--vsg-purple);transform:translateY(-2px);text-decoration:none;color:inherit;box-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.2)}.bot-avatar{width:48px;height:48px;margin-right:16px;flex-shrink:0;border-radius:50%;overflow:hidden;background:rgba(var(--vsg-purple-rgb),.1)}.bot-avatar img{width:100%;height:100%;object-fit:cover}.bot-details{flex-grow:1}.bot-details strong{display:block;color:var(--vsg-purple);font-size:16px;margin-bottom:4px}.bot-details small{color:#fff9;font-size:13px}.pheidippides-invite .arrow{color:var(--vsg-purple);font-size:20px;margin-left:12px}.loading-servers{display:flex;flex-direction:column;align-items:center;padding:40px 20px;color:#fff9}.loading-servers p{margin:0;font-size:14px}.invite-url-box{background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:4px;padding:12px;margin:12px 0;font-family:var(--font-primary);font-size:12px;color:#ffffffe6;word-break:break-all;-webkit-user-select:all;user-select:all}.step-bot-setup h3{color:#fff;margin-bottom:24px;font-size:20px;font-weight:400}:where(.discord-modal-overlay) .form-group label{display:block}.discord-input{width:100%;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:4px;padding:12px;color:#fff;font-size:14px;transition:all .2s}.discord-input:focus{outline:none;border-color:var(--vsg-purple);background:#00000080}.step-server-select{display:flex;flex-direction:column;height:100%}.step-server-select h3{color:#fff;margin-bottom:24px;font-size:20px;font-weight:400}.step-server-select .server-list{flex:1;min-height:0}.server-list{margin-bottom:24px;overflow-y:auto}.no-servers{color:#fff9;text-align:center;padding:40px 20px}.server-item{display:flex;align-items:center;padding:12px;margin-bottom:8px;background:#ffffff05;border:1px solid rgba(var(--vsg-purple-rgb),.1);border-radius:8px;cursor:pointer;transition:all .2s}.server-item:hover{background:rgba(var(--vsg-purple-rgb),.05);border-color:rgba(var(--vsg-purple-rgb),.2)}.server-item.selected{background:rgba(var(--vsg-purple-rgb),.1);border-color:var(--vsg-purple)}.server-icon{width:48px;height:48px;margin-right:16px;border-radius:50%;overflow:hidden;flex-shrink:0}.server-icon img{width:100%;height:100%}.server-icon-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--vsg-purple),rgba(var(--vsg-purple-rgb),.64));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:400;font-size:20px}.server-info{flex-grow:1}.server-info h4{color:#fff;margin:0 0 4px;font-size:16px;font-weight:400}.server-info p{color:#fff9;margin:0;font-size:14px}.server-select-indicator{color:var(--vsg-purple);font-size:24px;margin-left:12px}.step-importing{text-align:center;padding:40px 20px}.step-importing h3{color:#fff;margin-bottom:32px;font-size:20px;font-weight:400}.import-progress{margin-bottom:24px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--vsg-purple),var(--vsg-purple));border-radius:4px;transition:width .3s ease}.progress-text{color:var(--vsg-purple);font-size:24px;font-weight:400;margin:0}.import-status{color:#fffc;margin-bottom:24px;font-size:14px}.import-details p{color:#ffffff80;margin:8px 0;font-size:13px}.step-complete{text-align:center;padding:60px 20px}.success-icon{font-size:64px;margin-bottom:24px}.step-complete h3{color:#fff;margin-bottom:16px;font-size:24px;font-weight:400}.step-complete p{color:#ffffffb3;margin:8px 0}:where(.discord-modal) .modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:12px;padding-top:12px;border-top:1px solid rgba(var(--vsg-purple-rgb),.1)}.step-channel-select .modal-actions{flex-shrink:0;margin:16px 24px 0;padding:16px 0 0;background:transparent;border-top:1px solid rgba(var(--vsg-purple-rgb),.2)}.step-channel-select .error-message{flex-shrink:0;margin:0 24px}.discord-modal-body::-webkit-scrollbar,.server-list::-webkit-scrollbar{width:8px}.discord-modal-body::-webkit-scrollbar-track,.server-list::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.discord-modal-body::-webkit-scrollbar-thumb,.server-list::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.3);border-radius:4px}.discord-modal-body::-webkit-scrollbar-thumb:hover,.server-list::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.5)}.step-channel-select{display:flex;flex-direction:column;flex:1;min-height:0;padding:16px 0 0}.step-channel-select h3{padding:0 24px;margin:0 0 8px;color:#fff;font-size:20px;font-weight:400;flex-shrink:0}.step-channel-select .subtitle{color:#fff9;margin:0 0 16px;padding:0 24px;font-size:14px;flex-shrink:0}.channel-actions{display:flex;justify-content:space-between;align-items:center;margin:0 24px 16px;padding:12px 16px;background:#ffffff08;border-radius:8px;border:1px solid rgba(var(--vsg-purple-rgb),.1);flex-shrink:0}.bulk-actions{display:flex;gap:8px}.category-group{margin-bottom:12px}.category-checkbox{display:flex;align-items:center}.category-info{flex:1;display:flex;align-items:center;gap:8px}.category-expand-icon{font-size:12px;color:#fff9;width:16px;display:inline-block}.category-toggle{margin-left:auto}.channel-checkbox{display:flex;align-items:center}.channel-info{flex:1;display:flex;flex-direction:column;gap:8px}.channel-name{font-size:16px;font-weight:400;color:#fff;cursor:pointer}.channel-imported-badge{font-size:10px;font-weight:400;font-family:var(--font-primary);letter-spacing:.5px;color:rgba(var(--vsg-purple-rgb),.9);background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.25);padding:1px 8px;border-radius:4px;white-space:nowrap}.channel-category{font-size:12px;color:#ffffff80;background:#ffffff1a;padding:2px 8px;border-radius:4px}.channel-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.channel-description{font-size:12px;color:#fff9;font-style:normal}.loading-channels{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.loading-channels p{color:#fff9;font-size:14px}.discord-inline-linking{display:flex;flex-direction:column;gap:24px;padding:0;max-width:100%}.linking-hero{text-align:center;padding:20px 0;margin-bottom:8px}.linking-hero h3{font-size:24px;font-weight:400;color:var(--vsg-purple);margin:0 0 12px;letter-spacing:.3px}.linking-hero .subtitle{font-size:15px;color:#ffffffb3;line-height:1.5;max-width:500px;margin:0 auto}.linking-info-sections{display:flex;flex-direction:column;gap:20px}.linking-info-box{background:rgba(var(--vsg-purple-rgb),.08);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:10px;padding:20px;display:flex;gap:16px;align-items:flex-start}.linking-info-box .info-icon{font-size:24px;flex-shrink:0;line-height:1;margin-top:2px}.linking-info-box .info-content{flex:1}.linking-info-box h4{font-size:16px;font-weight:400;color:#fff;margin:0 0 12px}.linking-info-box ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.linking-info-box li{font-size:14px;color:#fffc;line-height:1.6;padding-left:20px;position:relative}.linking-info-box li:before{content:"✓";position:absolute;left:0;color:var(--vsg-purple);font-weight:400}.linking-steps{background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:10px;padding:20px}.linking-steps h4{font-size:16px;font-weight:400;color:#fff;margin:0 0 16px}.linking-steps ol{list-style:none;counter-reset:step-counter;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.linking-steps li{font-size:14px;color:#fffc;line-height:1.6;padding-left:32px;position:relative;counter-increment:step-counter}.linking-steps li:before{content:counter(step-counter);position:absolute;left:0;top:0;width:24px;height:24px;background:rgba(var(--vsg-purple-rgb),.15);border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:400;color:var(--vsg-purple)}.linking-actions{display:flex!important;flex-direction:column!important;align-items:center!important;gap:12px!important;padding:20px 0 0!important;border-top:1px solid rgba(var(--vsg-purple-rgb),.15);margin-top:8px}.linking-actions button{width:100%;max-width:300px;margin:0!important}.privacy-note{font-size:13px;color:#ffffff80;text-align:center;margin:0;padding:0;line-height:1.5}.loading-discord-status{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.loading-discord-status p{color:#fff9;font-size:14px;margin:0}.success-message{background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;padding:14px 18px;color:rgba(var(--vsg-purple-rgb),.9);font-size:14px;text-align:center;animation:fadeIn .3s ease}.discord-linked-banner{background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;padding:12px 16px;display:flex;align-items:center;gap:10px;margin-bottom:16px}.discord-linked-banner .linked-icon{font-size:18px;flex-shrink:0;color:var(--vsg-purple)}.discord-linked-banner .linked-text{color:rgba(var(--vsg-purple-rgb),.9);font-size:14px;font-weight:400}.orphan-accounts-modal{max-width:800px;max-height:calc(90 * var(--vh-fit));overflow-y:auto;background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;box-shadow:0 20px 60px #0009,0 0 40px rgba(var(--vsg-purple-rgb),.15)}.orphan-accounts-modal .modal-body{padding:24px}.orphan-accounts-modal .modal-header{border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.03)}.orphan-accounts-modal .modal-header h2{font-family:var(--font-primary);color:var(--vsg-purple);text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.3)}.orphan-accounts-modal .modal-close{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff9;transition:all .2s ease}.orphan-accounts-modal .modal-close:hover{background:rgba(var(--vsg-magenta-rgb),.15);border-color:rgba(var(--vsg-magenta-rgb),.3);color:var(--vsg-magenta)}.orphan-tabs{display:flex;gap:0;padding:0 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);background:#0003}.orphan-tab{padding:12px 24px;background:transparent;border:none;border-bottom:2px solid transparent;color:#fff9;font-size:13px;font-family:var(--font-primary);font-weight:400;letter-spacing:.5px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.orphan-tab:hover{color:#ffffffe6;background:rgba(var(--vsg-purple-rgb),.05)}.orphan-tab.active{color:var(--vsg-purple);border-bottom-color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.08)}.orphan-tab-count{background:rgba(var(--vsg-purple-rgb),.25);color:var(--vsg-purple);font-size:10px;font-weight:400;padding:3px 8px;border-radius:20px;min-width:20px;text-align:center;border:1px solid rgba(var(--vsg-purple-rgb),.4)}.orphan-tab.active .orphan-tab-count{background:rgba(var(--vsg-purple-rgb),.35);border-color:var(--vsg-purple)}.orphan-character-info{display:flex;align-items:center;gap:12px;flex:1}.orphan-character-avatar{width:48px;height:48px;border-radius:10px;object-fit:cover;border:1px solid rgba(var(--vsg-purple-rgb),.3);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.15)}.orphan-character-details{flex:1}.orphan-description{font-size:12px;color:#ffffff80;margin-top:4px;line-height:1.4}.orphan-badge{padding:4px 10px;background:rgba(var(--vsg-gold-rgb),.15);border:1px solid rgba(var(--vsg-gold-rgb),.3);border-radius:20px;font-size:10px;font-family:var(--font-primary);font-weight:400;color:var(--vsg-gold);text-transform:uppercase;letter-spacing:1px}.orphan-info{padding:16px;background:rgba(var(--vsg-purple-rgb),.08);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:10px;margin-bottom:24px}.orphan-list{margin-bottom:24px}.orphan-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.orphan-list-header h3{margin:0;font-size:15px;font-family:var(--font-primary);font-weight:400;color:var(--vsg-purple);letter-spacing:.5px;text-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.2)}.orphan-list h3{margin:0 0 16px;font-size:15px;font-family:var(--font-primary);font-weight:400;color:var(--vsg-purple);letter-spacing:.5px}.orphan-delete-all-btn{background:rgba(var(--vsg-magenta-rgb),.1);border:1px solid rgba(var(--vsg-magenta-rgb),.4);border-radius:6px;color:var(--vsg-magenta);font-family:var(--font-primary);font-size:.85rem;padding:6px 16px;cursor:pointer;transition:all .2s ease;letter-spacing:.3px}.orphan-delete-all-btn:hover:not(:disabled){background:rgba(var(--vsg-magenta-rgb),.25);border-color:var(--vsg-magenta);box-shadow:0 0 15px rgba(var(--vsg-magenta-rgb),.5);transform:scale(1.05)}.orphan-delete-all-btn:disabled{opacity:.5;cursor:not-allowed}.orphan-item{padding:16px;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:10px;margin-bottom:10px;cursor:pointer;transition:all .3s ease;display:flex;justify-content:space-between;align-items:center}.orphan-item:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.3);transform:translateY(-1px)}.orphan-item.selected{background:rgba(var(--vsg-purple-rgb),.15);border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.2)}.orphan-item .orphan-info{padding:0;background:none;border:none;margin:0;flex:1}.orphan-name{font-weight:400;color:#fff;margin-bottom:4px}.orphan-email{font-size:13px;color:#fff9}.orphan-stats{display:flex;align-items:center;gap:12px}.post-count{padding:4px 10px;background:rgba(var(--vsg-purple-rgb),.15);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:20px;font-size:11px;font-family:var(--font-primary);font-weight:400;color:var(--vsg-purple);letter-spacing:.5px}.reassign-mode-selector{margin-bottom:24px}.reassign-mode-selector h3{margin:0 0 16px;font-size:16px;font-weight:400;color:var(--vsg-purple)}.mode-options{display:flex;gap:12px}.mode-option{flex:1;padding:16px;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:10px;cursor:pointer;transition:all .3s ease;display:flex;gap:12px;align-items:flex-start}.mode-option:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.3)}.mode-option.selected{background:rgba(var(--vsg-purple-rgb),.15);border-color:rgba(var(--vsg-purple-rgb),.5)}.mode-option input[type=radio]{margin-top:2px;accent-color:var(--vsg-purple)}.mode-details{flex:1}.mode-title{font-weight:400;color:#fff;margin-bottom:4px}.target-user-selector{margin-bottom:24px}.target-user-selector h3{margin:0 0 16px;font-size:15px;font-family:var(--font-primary);font-weight:400;color:var(--vsg-purple);letter-spacing:.5px}.user-list{max-height:300px;overflow-y:auto;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:10px;background:#0000004d}.user-username{font-size:13px;color:#fff9}.reassign-actions{display:flex;gap:12px;padding:16px;background:rgba(var(--vsg-purple-rgb),.05);border-radius:10px;border:1px solid rgba(var(--vsg-purple-rgb),.15)}:where(.orphan-accounts-modal) .empty-state{text-align:center;padding:48px 24px;color:rgba(var(--vsg-purple-rgb),.7)}.orphan-accounts-modal::-webkit-scrollbar,.user-list::-webkit-scrollbar{width:8px}.orphan-accounts-modal::-webkit-scrollbar-track,.user-list::-webkit-scrollbar-track{background:#0000004d;border-radius:4px}.orphan-accounts-modal::-webkit-scrollbar-thumb,.user-list::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.2);border-radius:4px}.orphan-accounts-modal::-webkit-scrollbar-thumb:hover,.user-list::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.3)}.orphan-item.clustered{border-left:3px solid var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.05)}.orphan-item.clustered:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.5)}.orphan-item.clustered.selected{background:rgba(var(--vsg-purple-rgb),.15);border-color:rgba(var(--vsg-purple-rgb),.6)}.orphan-name-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}.orphan-ai-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:rgba(var(--vsg-purple-rgb),.2);border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:12px;font-size:10px;font-weight:400;color:var(--vsg-purple);letter-spacing:.5px;text-transform:uppercase;cursor:help}.orphan-characters{font-size:12px;color:#ffffffb3;margin-bottom:4px;font-style:normal}.orphan-merge-section{margin-top:16px;padding:16px;background:rgba(var(--vsg-purple-rgb),.05);border-radius:10px;border:1px solid rgba(var(--vsg-purple-rgb),.15)}.orphan-merge-section h4{font-family:var(--font-primary);color:var(--vsg-purple);margin-bottom:12px;font-size:14px}.orphan-merge-list{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto}.orphan-merge-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;cursor:pointer;transition:all .2s ease}.orphan-merge-item:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.3)}.orphan-merge-item.selected{background:rgba(var(--vsg-purple-rgb),.15);border-color:rgba(var(--vsg-purple-rgb),.5)}.orphan-merge-btn{padding:6px 12px;background:rgba(var(--vsg-magenta-rgb),.15);border:1px solid rgba(var(--vsg-magenta-rgb),.3);border-radius:6px;color:var(--vsg-magenta);font-size:11px;font-weight:400;cursor:pointer;transition:all .2s ease}.orphan-merge-btn:hover{background:rgba(var(--vsg-magenta-rgb),.25);border-color:var(--vsg-magenta);transform:scale(1.05)}.import-source-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.import-source-modal{background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:16px;width:90%;max-width:800px;max-height:calc(90 * var(--vh-fit));overflow-y:auto;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.2)}.import-source-header{display:flex;align-items:center;justify-content:space-between;padding:24px 32px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.import-source-header h2{font-family:var(--font-primary);font-size:24px;font-weight:400;color:var(--vsg-purple);margin:0;text-transform:uppercase;letter-spacing:1px}.modal-close{background:none;border:none;color:#ffffff80;font-size:32px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s}.modal-close:hover{color:var(--vsg-purple)}.import-source-body{padding:32px}.import-source-description{color:#fffc;font-size:16px;text-align:center;margin-bottom:32px;line-height:1.6}.import-source-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.import-option{background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;padding:32px 24px;text-align:center;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:16px}.import-option:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.4);transform:translateY(-4px);box-shadow:0 8px 24px rgba(var(--vsg-purple-rgb),.2)}.import-option-icon{font-size:48px;margin-bottom:8px}.import-option-icon.discord-icon{display:flex;align-items:center;justify-content:center}.import-option-icon.discord-icon svg{width:60px;height:60px}.import-option h3{font-family:var(--font-primary);font-size:20px;font-weight:400;color:var(--vsg-purple);margin:0;text-transform:uppercase;letter-spacing:1px}.import-option p{color:#ffffffb3;font-size:14px;line-height:1.6;margin:0;flex:1}.import-option button{margin-top:8px;align-self:center;min-width:120px;max-width:200px}.freeform-import-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.freeform-import-modal{background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:16px;width:90%;max-width:600px;max-height:calc(90 * var(--vh-fit));overflow-y:auto;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.2)}.freeform-import-header{display:flex;align-items:center;justify-content:space-between;padding:24px 32px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.freeform-import-header h2{font-family:var(--font-primary);font-size:24px;color:var(--vsg-purple);margin:0;text-transform:uppercase;letter-spacing:1px}.freeform-import-header .modal-close{background:none;border:none;color:#ffffff80;font-size:32px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s}.freeform-import-header .modal-close:hover{color:var(--vsg-purple)}.freeform-import-header .modal-close:disabled{opacity:.5;cursor:not-allowed}.freeform-import-body{padding:32px}.freeform-import-description{color:#fffc;font-size:14px;text-align:center;margin-bottom:24px;line-height:1.6}.freeform-drop-zone{border:2px dashed rgba(var(--vsg-purple-rgb),.3);border-radius:12px;padding:40px 24px;text-align:center;cursor:pointer;transition:all .3s ease;margin-bottom:24px;background:rgba(var(--vsg-purple-rgb),.02)}.freeform-drop-zone:hover{border-color:rgba(var(--vsg-purple-rgb),.5);background:rgba(var(--vsg-purple-rgb),.05)}.freeform-drop-zone.dragging{border-color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.1);transform:scale(1.01)}.freeform-drop-zone.has-file{border-style:solid;border-color:rgba(var(--vsg-success-rgb),.5);background:rgba(var(--vsg-success-rgb),.05)}.drop-zone-content{display:flex;flex-direction:column;align-items:center;gap:12px}.drop-icon{font-size:48px;opacity:.8}.drop-text{color:#ffffffe6;font-size:16px;margin:0}.supported-formats{color:#ffffff80;font-size:13px;margin:0}.selected-file-info{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.file-icon{font-size:32px}.file-name{color:var(--vsg-success);font-size:16px;font-weight:400;word-break:break-all}.file-size{color:#ffffff80;font-size:14px}.freeform-form-group{margin-bottom:16px}.freeform-form-group label{display:block;color:#fffc;font-size:14px;margin-bottom:8px}.freeform-form-group label .optional{color:#fff6;font-size:12px;margin-left:8px}.freeform-form-group input{width:100%;padding:12px 16px;background:#ffffff0d;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;color:#fff;font-size:14px;transition:all .2s ease;box-sizing:border-box}.freeform-form-group input:focus{outline:none;border-color:rgba(var(--vsg-purple-rgb),.5);background:#ffffff14}.freeform-form-group input::placeholder{color:#ffffff4d}.freeform-form-group input:disabled{opacity:.5;cursor:not-allowed}.freeform-error{background:rgba(var(--vsg-error-rgb),.1);border:1px solid rgba(var(--vsg-error-rgb),.3);border-radius:8px;padding:12px 16px;color:var(--vsg-error);font-size:14px;margin-top:16px}.freeform-import-footer{display:flex;justify-content:flex-end;gap:12px;padding:24px 32px;border-top:1px solid rgba(var(--vsg-purple-rgb),.2)}.freeform-import-footer button{min-width:100px}.fetch-channels-modal{background:transparent;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;width:90%;max-width:600px;max-height:calc(80 * var(--vh-fit));display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080,0 0 60px rgba(var(--vsg-purple-rgb),.1);overflow:hidden}.fetch-channels-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:rgba(var(--vsg-purple-rgb),.05);border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);flex-shrink:0}.fetch-channels-modal .modal-header h2{font-family:var(--font-primary);font-size:20px;font-weight:400;color:var(--vsg-purple);margin:0;letter-spacing:.5px}.fetch-channels-modal .modal-description{font-family:var(--font-primary);font-size:13px;color:#ffffffb3;padding:16px 24px;margin:0;line-height:1.6;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.1);background:rgba(var(--vsg-purple-rgb),.02);flex-shrink:0}.fetch-channels-modal .modal-error{background:rgba(var(--vsg-error-rgb),.15);border:1px solid rgba(var(--vsg-error-rgb),.4);color:var(--vsg-error);padding:12px 24px;font-size:13px;flex-shrink:0}.fetch-channels-modal .modal-actions-top{display:flex;align-items:center;gap:12px;padding:12px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.1);background:rgba(var(--vsg-purple-rgb),.02);flex-shrink:0}.fetch-channels-modal .selection-count{font-family:var(--font-primary);font-size:12px;color:rgba(var(--vsg-purple-rgb),.7);margin-left:auto}.fetch-channels-modal .channels-list{flex:1;overflow-y:auto;overflow-x:hidden;padding:20px 24px;display:flex;flex-direction:column;gap:12px;min-height:150px;max-height:calc(80 * var(--vh-fit) - 280px)}.fetch-channels-modal .channels-list::-webkit-scrollbar{width:8px}.fetch-channels-modal .channels-list::-webkit-scrollbar-track{background:rgba(var(--vsg-purple-rgb),.05);border-radius:4px}.fetch-channels-modal .channels-list::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.3);border-radius:4px}.fetch-channels-modal .channels-list::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.5)}.fetch-channels-modal .no-channels{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:150px;font-family:var(--font-primary);font-size:16px;color:rgba(var(--vsg-purple-rgb),.6);text-align:center;padding:30px 40px;gap:20px}.fetch-channels-modal .no-channels p{margin:0;line-height:1.5}.fetch-channels-modal .category-group{display:flex;flex-direction:column;gap:12px;flex-shrink:0}.fetch-channels-modal .category-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;cursor:pointer;transition:all .2s ease}.fetch-channels-modal .category-header:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:var(--vsg-purple)}.fetch-channels-modal .category-header.selected{background:rgba(var(--vsg-purple-rgb),.15);border-color:var(--vsg-purple)}.fetch-channels-modal .category-header.partial{background:rgba(var(--vsg-purple-rgb),.08);border-color:rgba(var(--vsg-purple-rgb),.5)}.fetch-channels-modal .category-checkbox{width:20px;height:20px;border:2px solid rgba(var(--vsg-purple-rgb),.6);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:400;color:var(--vsg-purple);flex-shrink:0;transition:all .2s ease}.fetch-channels-modal .category-header.selected .category-checkbox{background:var(--vsg-purple);border-color:var(--vsg-purple);color:#fff}.fetch-channels-modal .category-header.partial .category-checkbox{background:rgba(var(--vsg-purple-rgb),.4);border-color:var(--vsg-purple);color:#fff}.fetch-channels-modal .category-info{display:flex;align-items:baseline;gap:8px;flex:1;min-width:0}.fetch-channels-modal .category-name{font-family:var(--font-primary);font-size:14px;font-weight:400;color:var(--vsg-purple);letter-spacing:.5px;text-transform:uppercase}.fetch-channels-modal .category-count{font-size:12px;color:#fff6}.fetch-channels-modal .category-toggle-hint{font-size:10px;color:rgba(var(--vsg-purple-rgb),.5);font-style:normal;opacity:0;transition:opacity .2s ease}.fetch-channels-modal .category-header:hover .category-toggle-hint{opacity:1}.fetch-channels-modal .category-channels{display:flex;flex-direction:column;gap:12px;padding-left:20px}.fetch-channels-modal .channel-item{display:flex;align-items:center;gap:16px;padding:16px 20px;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;cursor:pointer;transition:all .2s ease}.fetch-channels-modal .channel-item:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:var(--vsg-purple);transform:translate(4px)}.fetch-channels-modal .channel-item.selected{background:rgba(var(--vsg-purple-rgb),.15);border-color:var(--vsg-purple)}.fetch-channels-modal .channel-checkbox{width:18px;height:18px;border:2px solid rgba(var(--vsg-purple-rgb),.4);border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:400;color:var(--vsg-purple);flex-shrink:0;transition:all .2s ease}.fetch-channels-modal .channel-item.selected .channel-checkbox{background:var(--vsg-purple);border-color:var(--vsg-purple);color:#fff}.fetch-channels-modal .channel-content{flex:1;min-width:0}.fetch-channels-modal .channel-name{font-family:var(--font-primary);font-size:16px;font-weight:400;color:#ffffffe6;margin:0 0 4px}.fetch-channels-modal .channel-slug{font-size:13px;color:#fff9;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fetch-channels-modal .channel-arrow{font-size:18px;color:rgba(var(--vsg-purple-rgb),.5);flex-shrink:0;transition:transform .2s ease,color .2s ease}.fetch-channels-modal .channel-item:hover .channel-arrow{color:var(--vsg-purple);transform:translate(4px)}.fetch-channels-modal .modal-actions{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;background:rgba(var(--vsg-purple-rgb),.05);border-top:1px solid rgba(var(--vsg-purple-rgb),.2);flex-shrink:0}.advanced-purges-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10001;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:advPurgeFadeIn .2s ease}@keyframes advPurgeFadeIn{0%{opacity:0}to{opacity:1}}.advanced-purges-dialog{background:#000000f2;border:1px solid rgba(var(--vsg-magenta-rgb),.3);border-radius:12px;padding:24px 28px;min-width:620px;max-width:720px;box-shadow:0 8px 32px rgba(var(--vsg-magenta-rgb),.2);display:flex;flex-direction:column;gap:14px;animation:advPurgeSlideIn .3s ease-out}@keyframes advPurgeSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.advanced-purges-title{font-family:var(--font-primary);font-size:20px;font-weight:400;color:var(--vsg-magenta);margin:0;text-align:center;letter-spacing:.5px}.advanced-purges-warning{background:rgba(var(--vsg-magenta-rgb),.1);border:1px solid rgba(var(--vsg-magenta-rgb),.2);border-radius:8px;padding:12px 16px;text-align:center}.advanced-purges-warning p{font-family:var(--font-primary);font-size:13px;font-weight:400;color:#ffffffe6;margin:0;line-height:1.5}.advanced-purges-heading{font-family:var(--font-primary);font-size:14px;font-weight:400;color:#ffffffe6;margin:0}.advanced-purges-section-label{font-family:var(--font-primary);font-size:11px;font-weight:400;color:#ffffff80;text-transform:uppercase;letter-spacing:1.5px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1);margin:0}.advanced-purges-checkbox-section{margin-top:8px}.advanced-purges-confirm-wrapper{margin-top:4px}.advanced-purges-confirm-input{width:100%;padding:12px 16px;background:#0009;border:1px solid rgba(var(--vsg-magenta-rgb),.3);border-radius:8px;color:#fff;font-family:var(--font-primary);font-size:16px;font-weight:400;transition:all .2s ease}.advanced-purges-confirm-input:focus{outline:none;border-color:rgba(var(--vsg-magenta-rgb),.6);background:#000c;box-shadow:0 0 15px rgba(var(--vsg-magenta-rgb),.2)}.advanced-purges-confirm-input::placeholder{color:#fff6}.advanced-purges-actions{display:flex;justify-content:center;gap:12px;margin-top:4px}.advanced-purges-actions button{min-width:140px}.advanced-purges-dialog::-webkit-scrollbar{width:4px}.advanced-purges-dialog::-webkit-scrollbar-track{background:transparent}.advanced-purges-dialog::-webkit-scrollbar-thumb{background:rgba(var(--vsg-magenta-rgb),.3);border-radius:4px}.default-icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px;border:none;border-radius:6px;background:transparent;color:var(--vsg-gold);cursor:default;transition:all .2s ease;line-height:1}.default-icon-btn-medium{width:32px;height:32px}.default-icon-btn-small{width:24px;height:24px}.default-icon-btn-medium .default-icon-glyph{font-size:18px}.default-icon-btn-small .default-icon-glyph{font-size:14px}.default-icon-btn.clickable{cursor:pointer}.default-icon-btn.clickable:hover{background:rgba(var(--vsg-gold-rgb),.15);color:var(--vsg-gold);transform:scale(1.1)}.default-icon-btn.clickable:active{transform:scale(.95)}.default-icon-btn.disabled,.default-icon-btn:disabled{opacity:.4;cursor:not-allowed}.default-icon-btn.loading .default-icon-glyph{animation:default-pulse 1s ease-in-out infinite}@keyframes default-pulse{0%,to{opacity:.6}50%{opacity:1}}.sheet-methods-view{display:flex;flex-direction:column;height:100%}.methods-sub-tabs{display:flex;gap:0;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15);background:rgba(var(--vsg-purple-rgb),.02);padding:0 24px;flex-shrink:0}.methods-sub-tab{padding:10px 20px;background:transparent;border:none;color:#ffffff80;font-size:12px;font-weight:400;font-family:var(--font-primary);cursor:pointer;transition:all .2s ease;border-bottom:2px solid transparent;text-transform:uppercase;letter-spacing:.8px;display:flex;align-items:center}.methods-sub-tab:hover{color:rgba(var(--vsg-purple-rgb),.7);background:rgba(var(--vsg-purple-rgb),.03)}.methods-sub-tab.active{color:var(--vsg-purple);border-bottom-color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.06)}.methods-sub-tab.add-method-btn{font-size:18px;font-weight:400;padding:6px 14px;color:rgba(var(--vsg-purple-rgb),.6);border:1px dashed rgba(var(--vsg-purple-rgb),.3);border-radius:6px;background:transparent;cursor:pointer;transition:all .2s ease;line-height:1;margin:4px 0;align-self:center}.methods-sub-tab.add-method-btn:hover{color:var(--vsg-purple);border-color:rgba(var(--vsg-purple-rgb),.6);background:rgba(var(--vsg-purple-rgb),.08)}.methods-content{flex:1;overflow-y:auto;padding:24px}.methods-content-flex{display:flex;flex-direction:column}.sheet-methods-view .method-description-text{font-size:14px;color:#fff9;margin:0 0 16px;line-height:1.6}.sheet-methods-view .custom-method-fields{margin-bottom:16px}.sheet-methods-view .creation-method-card{background:rgba(var(--vsg-purple-rgb),.03);border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:12px;padding:24px}.sheet-methods-view .method-title{font-size:18px;font-weight:400;color:var(--vsg-purple);margin:0 0 8px;font-family:var(--font-primary)}.sheet-methods-view .method-description{font-size:14px;color:#ffffffb3;margin:0 0 20px;line-height:1.6}.sheet-methods-view .method-toggles-header{padding-bottom:20px;margin-bottom:4px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15)}.sheet-methods-view .method-availability-row{display:flex;align-items:center;gap:16px}.sheet-methods-view .method-availability-label{font-size:12px;font-family:var(--font-primary);color:rgba(var(--vsg-purple-rgb),.6);font-weight:400;white-space:nowrap;letter-spacing:.5px}.sheet-methods-view .method-toggle-compact{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:12px;font-family:var(--font-primary);font-weight:400;color:#ffffffe6;letter-spacing:.5px;text-transform:uppercase}.sheet-methods-view .method-toggle-compact:hover{color:var(--vsg-purple)}.sheet-methods-view .custom-method-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.sheet-methods-view .custom-method-name-input{flex:1;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;padding:10px 14px;font-size:18px;font-weight:400;font-family:var(--font-primary);color:var(--vsg-purple);outline:none;transition:border-color .2s ease}.sheet-methods-view .custom-method-name-input::placeholder{color:rgba(var(--vsg-purple-rgb),.3);font-weight:400}.sheet-methods-view .custom-method-name-input:focus{border-color:var(--vsg-purple)}.sheet-methods-view .custom-method-description{width:100%;background:transparent;border:1px solid transparent;border-radius:8px;color:#fff9;font-family:var(--font-primary);font-size:14px;line-height:1.6;padding:8px 12px;resize:vertical;min-height:40px;margin-bottom:16px;outline:none;transition:all .2s ease}.sheet-methods-view .custom-method-description:hover{background:#0003;border-color:rgba(var(--vsg-purple-rgb),.1)}.sheet-methods-view .custom-method-description:focus{background:#0000004d;border-color:rgba(var(--vsg-purple-rgb),.4)}.sheet-methods-view .custom-method-description::placeholder{color:#ffffff40}.sheet-methods-view .methods-loading{display:flex;justify-content:center;align-items:center;padding:60px}.sheet-methods-view .methods-error{color:var(--vsg-error);background:rgba(var(--vsg-error-rgb),.1);border:1px solid rgba(var(--vsg-error-rgb),.3);border-radius:8px;padding:10px 16px;font-size:.85rem;margin:0 24px}.methods-sub-tab.inherited{opacity:.8}.method-inherited-dot{display:inline-block;width:6px;height:6px;background:rgba(var(--vsg-purple-rgb),.6);border-radius:50%;margin-left:6px;vertical-align:middle}.sheet-methods-view .inherited-banner{font-family:var(--font-primary);font-size:.7rem;color:rgba(var(--vsg-purple-rgb),.8);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;padding:4px 12px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;display:inline-block}.methods-sub-tab .method-tab-default-badge{color:var(--vsg-gold);font-size:14px;margin-left:4px;line-height:1}.methods-sub-tab .method-tab-trash{opacity:.5;transition:all .2s ease;margin-left:4px}.methods-sub-tab .method-tab-trash:hover{opacity:1;transform:scale(1.2)}.methods-sub-tab .sub-tab-rename-input{background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.4);color:#ffffffe0;border-radius:4px;padding:2px 8px;font-size:13px;width:120px;outline:none}.methods-sub-tab .sub-tab-rename-input:focus{border-color:var(--vsg-purple);box-shadow:0 0 6px rgba(var(--vsg-purple-rgb),.3)}.methods-content::-webkit-scrollbar{width:8px}.methods-content::-webkit-scrollbar-track{background:#0000004d;border-radius:4px}.methods-content::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.2);border-radius:4px}.methods-content::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.3)}.character-sheets-modal{position:relative;background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:12px;max-width:1100px;width:95%;height:calc(80 * var(--vh-fit));max-height:calc(80 * var(--vh-fit));display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.character-sheets-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05)}.character-sheets-modal .modal-title{font-size:20px;font-weight:400;color:var(--vsg-purple);margin:0;font-family:var(--font-primary)}.modal-tabs{display:flex;gap:0;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.03)}.modal-tab{flex:1;padding:14px 24px;background:transparent;border:none;color:#fff9;font-size:14px;font-weight:400;font-family:var(--font-primary);cursor:pointer;transition:all .2s ease;border-bottom:2px solid transparent;text-transform:uppercase;letter-spacing:1px}.modal-tab:hover{color:rgba(var(--vsg-purple-rgb),.8);background:rgba(var(--vsg-purple-rgb),.05)}.modal-tab.active{color:var(--vsg-purple);border-bottom-color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.1)}.character-sheets-content{flex:1;overflow-y:auto;padding:24px;min-height:400px}.sheets-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;min-height:350px}.sheets-empty-state p{color:rgba(var(--vsg-purple-rgb),.7);margin-top:16px}.sheets-hint{font-size:12px;color:#ffffff80!important;margin-top:8px!important}.sheets-layout{display:flex;gap:24px;min-height:400px}.sheets-panel{flex:1}.templates-section{margin-bottom:24px}.sheets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.modal-sheet-wrapper{position:relative;border-radius:12px;transition:all .3s ease}.modal-sheet-wrapper.enabled-for-creation{outline:3px solid var(--vsg-purple-radiant);outline-offset:-1px;border-radius:12px;filter:drop-shadow(0 0 8px var(--vsg-purple-radiant)) drop-shadow(0 0 20px rgba(var(--vsg-purple-radiant-rgb),.6))}.modal-sheet-wrapper.enabled-for-creation .sheet-card{border-color:var(--vsg-purple-radiant)}.section-name{color:#ffffffe6}.filter-bar{display:flex;align-items:center;gap:16px;padding:12px 24px;background:rgba(var(--vsg-purple-rgb),.05);border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15)}.filter-bar .filter-label{font-size:13px;color:#ffffffb3;font-family:var(--font-primary)}.filter-bar .filter-checkbox{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:13px;color:#fffc}.filter-bar .filter-checkbox input[type=checkbox]{accent-color:var(--vsg-purple);width:16px;height:16px;cursor:pointer}.filter-bar .filter-checkbox:hover{color:var(--vsg-purple)}.filter-bar .filter-count{margin-left:auto;font-size:12px;color:rgba(var(--vsg-purple-rgb),.7);font-style:normal}.character-sheets-modal .modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:16px 24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05);position:relative}.character-sheets-modal .modal-footer .footer-hint{position:absolute;left:0;right:0;text-align:center;color:rgba(var(--vsg-purple-rgb),.6);font-size:14px;letter-spacing:.3px;pointer-events:none}.character-sheets-modal .modal-footer .save-error-text{flex:1;color:var(--vsg-error);font-size:13px;align-self:center}.character-sheets-content::-webkit-scrollbar,.sheets-panel::-webkit-scrollbar{width:8px}.character-sheets-content::-webkit-scrollbar-track,.sheets-panel::-webkit-scrollbar-track{background:#0000004d;border-radius:4px}.character-sheets-content::-webkit-scrollbar-thumb,.sheets-panel::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.2);border-radius:4px}.character-sheets-content::-webkit-scrollbar-thumb:hover,.sheets-panel::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.3)}.method-sheet-selector{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15)}.method-sheet-selector label{color:#fff9;font-size:13px;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:.5px}.method-sheet-selector .dropdown{min-width:200px;flex:0 1 auto}.grant-points-modal{background:#000000f2;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;max-width:500px;width:90%;max-height:calc(80 * var(--vh-fit));display:flex;flex-direction:column;box-shadow:0 8px 32px #0009,0 0 60px rgba(var(--vsg-purple-rgb),.1)}.grant-points-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15)}.grant-points-title{font-family:var(--font-primary);font-size:1.1rem;font-weight:400;color:#ffffffe6;letter-spacing:.5px}.grant-points-content{padding:1.25rem 1.5rem;overflow-y:auto;flex:1}.grant-form-toggle{display:flex;justify-content:flex-end;margin-bottom:1rem}.grant-form-toggle-btn{background:#000000e6;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:10px;color:rgba(var(--vsg-purple-rgb),.8);padding:.4rem 1rem;font-family:var(--font-primary);font-size:.8rem;font-weight:400;cursor:pointer;letter-spacing:.5px;transition:all .2s ease}.grant-form-toggle-btn:hover,.grant-form-toggle-btn.active{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.4);color:var(--vsg-purple);box-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.2)}.grant-form{background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:8px;padding:1rem;margin-bottom:1.25rem}.grant-form-row{display:flex;gap:.75rem;margin-bottom:.75rem;align-items:flex-end}.grant-form-field{display:flex;flex-direction:column;gap:.3rem}.grant-form-field.amount{width:100px}.grant-form-field.pool,.grant-form-field.note{flex:1}.grant-form-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.8px;color:rgba(var(--vsg-purple-rgb),.7);font-weight:400}.grant-form-input{background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:6px;color:#ffffffe6;padding:.5rem .75rem;font-size:.85rem;outline:none;transition:border-color .2s ease}.grant-form-input:focus{border-color:rgba(var(--vsg-purple-rgb),.5)}.grant-form-input::placeholder{color:#fff6}.grant-form-actions{display:flex;justify-content:flex-end;gap:.5rem}.grant-submit-btn{background:#000000e6;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:10px;color:var(--vsg-purple);padding:.45rem 1rem;font-family:var(--font-primary);font-size:.8rem;font-weight:400;cursor:pointer;transition:all .2s ease;--glow-rest: var(--glow-button-rest);--glow-peak: var(--glow-button-peak);--glow-period: var(--glow-button-period)}.grant-submit-btn:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.1);border-color:var(--vsg-purple);box-shadow:0 0 30px rgba(var(--vsg-purple-rgb),.3),0 0 60px rgba(var(--vsg-purple-rgb),.2)}.grant-submit-btn:disabled{opacity:.5;cursor:not-allowed;animation:none}.grant-pools-label{font-family:var(--font-primary);font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:rgba(var(--vsg-purple-rgb),.6);margin-bottom:.75rem;font-weight:400}.grant-pool-list{display:flex;flex-direction:column;gap:.5rem}.grant-pool-item{background:rgba(var(--vsg-purple-rgb),.04);border:1px solid rgba(var(--vsg-purple-rgb),.1);border-radius:8px;padding:.75rem 1rem;transition:border-color .2s ease}.grant-pool-item:hover{border-color:rgba(var(--vsg-purple-rgb),.25)}.grant-pool-name{font-weight:400;color:#ffffffe6;font-size:.9rem;margin-bottom:.35rem;display:flex;align-items:center;gap:.5rem}.grant-pool-type-badge{font-size:.6rem;text-transform:uppercase;letter-spacing:.5px;color:rgba(var(--vsg-purple-rgb),.6);background:rgba(var(--vsg-purple-rgb),.1);padding:.1rem .4rem;border-radius:3px;font-weight:400}.grant-pool-stats{display:flex;gap:1.25rem;font-size:.8rem;color:#ffffff80}.grant-pool-stat{display:flex;gap:.3rem}.grant-pool-stat-label{color:#ffffff80}.grant-pool-stat-value{color:#ffffffd9;font-weight:400}.grant-pool-stat-value.granted{color:var(--vsg-purple)}.grant-pool-stat-value.total{color:var(--vsg-gold)}.grant-points-empty{text-align:center;padding:2rem 1rem;color:#ffffff80;font-size:.85rem}.grant-points-error{background:rgba(var(--vsg-error-rgb),.1);border:1px solid rgba(var(--vsg-error-rgb),.3);border-radius:6px;padding:.75rem 1rem;color:var(--vsg-error);font-size:.8rem;margin-bottom:1rem}.grant-points-loading{display:flex;justify-content:center;align-items:center;padding:3rem 0}.grant-success-msg{background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;padding:.5rem .75rem;color:var(--vsg-purple);font-size:.8rem;margin-bottom:.75rem;text-align:center}.grant-points-footer{display:flex;justify-content:space-between;padding:1rem 1.5rem;border-top:1px solid rgba(var(--vsg-purple-rgb),.1)}.grant-points-footer .progression-btn{font-size:.78rem}.grant-close-btn{background:#000000e6;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:10px;color:#ffffff80;padding:.4rem 1.25rem;font-family:var(--font-primary);font-size:.8rem;cursor:pointer;transition:all .2s ease}.grant-close-btn:hover{background:rgba(var(--vsg-purple-rgb),.1);color:#ffffffe6;border-color:rgba(var(--vsg-purple-rgb),.3)}.character-creation-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.character-creation-modal{background:transparent;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:16px;width:100%;max-width:500px;max-height:calc(80 * var(--vh-fit));overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(var(--vsg-purple-rgb),.3)}.character-creation-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.character-creation-modal .modal-header h2{margin:0;font-family:var(--font-primary);font-size:1.5rem;color:var(--vsg-purple);letter-spacing:1px}.character-creation-modal .close-btn{background:transparent;border:none;color:#fff9;font-size:1.5rem;cursor:pointer;padding:.5rem;line-height:1;transition:color .2s ease}.character-creation-modal .close-btn:hover{color:var(--vsg-error)}.character-creation-modal .modal-content{padding:1.5rem;overflow-y:auto;flex:1}.loading-config{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem;color:rgba(var(--vsg-purple-rgb),.8)}.no-config-message{text-align:center;padding:2rem;color:#fff9}.no-config-message p{margin:0;font-size:1rem}.character-creation-modal .modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid rgba(var(--vsg-purple-rgb),.2)}.edit-lore-modal{max-width:650px}.lore-edit-divider{height:1px;background:rgba(var(--vsg-purple-rgb),.15);margin:4px 0}.lore-edit-section-label{font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:1.5px;color:var(--vsg-purple);font-family:var(--font-primary)}:where(.edit-lore-modal) .lore-metadata-fields{display:flex;flex-direction:column;gap:16px}.lore-edit-checkbox{display:flex;align-items:center;gap:10px;cursor:pointer;padding:8px 0}.lore-edit-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--vsg-purple);cursor:pointer}.wider-area-selector{position:relative}.wider-area-dropdown{position:absolute;top:100%;left:0;right:0;max-height:240px;overflow-y:auto;background:rgba(var(--vsg-surface-rgb),.98);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;margin-top:4px;z-index:100;display:flex;flex-direction:column;padding:4px}.wider-area-option{display:block;width:100%;text-align:left;padding:8px 12px;background:transparent;border:none;color:#ffffffd9;font-family:var(--font-primary);font-size:13px;cursor:pointer;border-radius:4px;transition:background .15s ease}.wider-area-option:hover{background:rgba(var(--vsg-purple-rgb),.15)}.wider-area-option.selected{background:rgba(var(--vsg-purple-rgb),.2);color:var(--vsg-purple)}.wider-area-type{color:rgba(var(--vsg-purple-rgb),.5);font-size:11px}.wider-area-divider{height:1px;background:rgba(var(--vsg-purple-rgb),.15);margin:4px 0}.wider-area-create{color:var(--vsg-purple);font-style:normal}.wider-area-no-results{padding:8px 12px;color:#fff6;font-size:13px;text-align:center}.lore-mechanics-row,.lore-mechanics-feature{display:grid;gap:6px;align-items:center;margin-bottom:6px}.lore-mechanics-row{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,2fr) auto}.lore-mechanics-feature{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;padding:8px;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:6px}.lore-mechanics-feature .form-textarea{grid-column:1 / -1}.lore-mechanics-uses{display:flex;gap:6px;align-items:center}:where(.edit-lore-modal) .lore-mechanics-add{background:rgba(var(--vsg-purple-rgb),.12);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:var(--vsg-purple);cursor:pointer;font-family:var(--font-primary);font-size:12px;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase;transition:background .2s ease}:where(.edit-lore-modal) .lore-mechanics-add:hover{background:rgba(var(--vsg-purple-rgb),.22)}.relationship-edit-popover{width:280px;background:#000000d9;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:0 8px 32px #0009,0 0 20px rgba(var(--vsg-purple-rgb),.1);animation:popoverFadeIn .15s ease}@keyframes popoverFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.edit-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.romantic-toggle{display:flex;align-items:center;gap:6px;padding:4px 10px;background:#ffffff0d;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:6px;color:#fff9;font-size:12px;font-family:var(--font-primary);cursor:pointer;transition:all .2s ease}.romantic-toggle:hover{border-color:rgba(var(--vsg-magenta-rgb),.4);background:rgba(var(--vsg-magenta-rgb),.1)}.romantic-toggle.active{border-color:rgba(var(--vsg-magenta-rgb),.5);background:rgba(var(--vsg-magenta-rgb),.15);color:var(--vsg-magenta)}.strength-display{color:#ffffffe6;font-size:13px;font-weight:400;font-family:var(--font-primary)}.love-bonus-note{color:rgba(var(--vsg-magenta-rgb),.6);font-size:11px;font-weight:400}.type-dropdown-row{flex-direction:column;align-items:stretch;gap:6px}.type-dropdown-row .edit-label{margin-bottom:0}.type-dropdown{width:100%}.edit-cancel-btn,.edit-save-btn{flex:1;padding:8px 12px;border-radius:6px;font-size:12px;font-weight:400;font-family:var(--font-primary);cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.edit-cancel-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.15);color:#fff9}.edit-cancel-btn:hover{background:#ffffff1a;border-color:#ffffff4d;color:#ffffffe6}.edit-save-btn{background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.3),rgba(var(--vsg-purple-rgb),.3));border:1px solid rgba(var(--vsg-purple-rgb),.4);color:#fffffff2}.edit-save-btn:hover{background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.4),rgba(var(--vsg-purple-rgb),.4));border-color:var(--vsg-purple);box-shadow:0 0 16px rgba(var(--vsg-purple-rgb),.2)}.matrix-grid-view{width:100%;display:flex;flex-direction:column;gap:24px}.grid-layout{display:flex;gap:24px;width:100%}.grid-table-container{overflow:auto;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;padding:12px;max-height:600px;width:100%}.grid-table-container::-webkit-scrollbar{width:8px;height:8px}.grid-table-container::-webkit-scrollbar-track{background:#0000004d;border-radius:4px}.grid-table-container::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.2);border-radius:4px}.grid-table-container::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.3)}.grid-table-container::-webkit-scrollbar-corner{background:#0000004d}.character-matrix-grid{display:grid;gap:4px;width:fit-content}.corner-cell{width:44px;height:44px;background:rgba(var(--vsg-purple-rgb),.1);border-radius:8px}.header-cell{width:44px;height:44px;background:rgba(var(--vsg-purple-rgb),.1);border-radius:8px;padding:2px;display:flex;align-items:center;justify-content:center;overflow:hidden;box-sizing:border-box}.header-cell.pc-header,.row-header.pc-header{background:rgba(var(--vsg-success-rgb),.12);border-left:3px solid var(--vsg-success)}.header-cell.npc-header,.row-header.npc-header{background:rgba(var(--vsg-purple-rgb),.15);border-left:3px solid var(--vsg-purple)}.row-header{width:44px;height:44px;background:rgba(var(--vsg-purple-rgb),.1);border-radius:8px;padding:2px;display:flex;align-items:center;justify-content:center;overflow:hidden;box-sizing:border-box}.character-header{display:flex;flex-direction:column;gap:0;align-items:center;justify-content:center;width:100%;height:100%;max-height:40px;overflow:hidden}.row-header .character-header{align-items:flex-start}.matrix-grid-view .character-name{color:#ffffffe6;font-size:9px;font-weight:400;font-family:var(--font-primary);max-width:40px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default;line-height:1.2}:where(.matrix-grid-view) .matrix-cell.has-relation:hover{transform:scale(1.05);box-shadow:0 4px 12px rgba(var(--vsg-purple-rgb),.3);z-index:10}:where(.matrix-grid-view) .matrix-cell.selected{border-width:2px;transform:scale(1.05)}.cell-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:2px}:where(.matrix-grid-view) .relation-icon{font-size:14px}:where(.matrix-grid-view) .relation-strength{color:#ffffffe6;font-size:9px;font-weight:400}.cell-content.diagonal-split{position:relative;width:100%;height:100%;padding:0}.relation-icon-bg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:16px;opacity:.25;pointer-events:none;z-index:1}.diagonal-line{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2}.diagonal-line:after{content:"";position:absolute;top:0;left:0;width:141.4%;height:1px;background:rgba(var(--vsg-purple-rgb),.3);transform-origin:top left;transform:rotate(45deg)}.strength-bottom-left{position:absolute;bottom:4px;left:4px;font-size:10px;font-weight:400;z-index:3;text-shadow:0 0 3px rgba(0,0,0,.5)}.strength-top-right{position:absolute;top:4px;right:4px;font-size:10px;font-weight:400;z-index:3;text-shadow:0 0 3px rgba(0,0,0,.5)}:where(.matrix-grid-view) .matrix-cell.has-relation{background:rgba(var(--vsg-purple-rgb),.08)}.relation-details-panel{flex:0 0 300px;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;animation:slideInRight .3s ease}.details-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:rgba(var(--vsg-purple-rgb),.1);border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.details-header h4{margin:0;color:#ffffffe6;font-size:16px;font-weight:400;font-family:var(--font-primary)}.close-details-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:rgba(var(--vsg-purple-rgb),.8);font-size:20px;cursor:pointer;transition:all .2s ease}.close-details-btn:hover{background:rgba(var(--vsg-purple-rgb),.2);border-color:var(--vsg-purple);color:var(--vsg-purple)}.details-body{flex:1;padding:20px;overflow-y:auto}.relation-characters{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.relation-character{flex:1;display:flex;flex-direction:column;gap:4px;align-items:center}.relation-character .char-name{color:#ffffffe6;font-size:14px;font-weight:400;font-family:var(--font-primary);text-align:center}.relation-character .char-type{font-size:10px;padding:2px 8px;border-radius:4px}.relation-info{display:flex;flex-direction:column;gap:16px}.info-row{display:flex;flex-direction:column;gap:6px}.strength-fill{height:100%;border-radius:4px;transition:width .3s ease}.relation-description{display:flex;flex-direction:column;gap:8px}.relation-description p{color:#ffffffb3;font-size:13px;line-height:1.6;margin:0}.relation-updated{color:rgba(var(--vsg-purple-rgb),.6);font-size:11px;margin-top:8px}.view-timeline-btn{width:100%;margin-top:16px;padding:12px 16px;background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.3),rgba(var(--vsg-purple-rgb),.3));border:1px solid rgba(var(--vsg-purple-rgb),.5);border-radius:8px;color:#fffffff2;font-size:13px;font-weight:400;font-family:var(--font-primary);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.view-timeline-btn:hover{background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.4),rgba(var(--vsg-purple-rgb),.4));border-color:var(--vsg-purple);color:#fff;box-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.3);transform:translateY(-1px)}.matrix-legend{background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;padding:16px 20px;display:flex;gap:32px;flex-wrap:wrap}:where(.matrix-grid-view) .legend-section{display:flex;flex-direction:column;gap:8px}.matrix-legend h5{margin:0;color:#ffffffe6;font-size:11px;font-weight:400;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:.5px}:where(.matrix-grid-view) .legend-items{display:flex;flex-wrap:wrap;gap:12px}.legend-items-wrap{gap:8px 16px;max-width:100%}.legend-items-wrap .legend-item{font-size:11px;min-width:90px}:where(.matrix-grid-view) .legend-item{display:flex;align-items:center;gap:6px;color:#ffffffb3;font-size:12px}.cell-reading-hint{flex-direction:column;align-items:flex-start;gap:4px}.diagonal-hint{position:relative;width:24px;height:24px;background:rgba(var(--vsg-purple-rgb),.2);border-radius:4px;font-size:10px}.hint-top-right{position:absolute;top:1px;right:2px;color:rgba(var(--vsg-purple-rgb),.7)}.hint-bottom-left{position:absolute;bottom:1px;left:2px;color:rgba(var(--vsg-purple-rgb),.7)}.hint-text{font-size:10px;color:rgba(var(--vsg-purple-rgb),.7)}.details-body::-webkit-scrollbar{width:6px}.details-body::-webkit-scrollbar-track{background:#0000004d}.details-body::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.2);border-radius:3px}.details-body::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.3)}.relationship-lookup{background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;padding:16px 20px}:where(.matrix-grid-view) .lookup-header{margin-bottom:12px}:where(.matrix-grid-view) .lookup-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}:where(.matrix-grid-view) .lookup-select:hover{border-color:rgba(var(--vsg-purple-rgb),.5)}:where(.matrix-grid-view) .lookup-select:focus{outline:none;border-color:var(--vsg-purple)}:where(.matrix-grid-view) .lookup-select option{background:var(--vsg-surface);color:#ffffffe6}:where(.matrix-grid-view) .lookup-arrow{color:rgba(var(--vsg-purple-rgb),.7);font-size:18px;font-weight:400;flex-shrink:0}:where(.matrix-grid-view) .lookup-results{margin-top:16px;display:flex;flex-direction:column;gap:12px}.lookup-relation{background:rgba(var(--vsg-purple-rgb),.08);border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:8px;padding:12px 16px}.relation-direction{display:flex;align-items:center;gap:8px;margin-bottom:8px}.relation-from,.relation-to{color:#ffffffe6;font-size:13px;font-weight:400;font-family:var(--font-primary)}.relation-arrow-icon{color:rgba(var(--vsg-purple-rgb),.7);font-size:14px}.relation-data{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.relation-data.no-relation{color:#fff6;font-size:12px;font-style:normal}.relation-data.no-participation{color:rgba(var(--vsg-purple-rgb),.5);font-size:12px;font-style:normal;flex-direction:column;align-items:flex-start;gap:4px}.no-participation .last-joint-session{color:#ffffff59;font-size:11px}.relation-type-badge{font-size:11px;font-weight:400;padding:4px 10px;border-radius:6px;text-transform:capitalize}.relation-strength-value{color:#fffc;font-size:12px;font-weight:400;padding:2px 8px;background:rgba(var(--vsg-purple-rgb),.2);border-radius:4px}.relation-desc{color:#ffffffb3;font-size:12px;line-height:1.4;flex-basis:100%;margin-top:4px}.power-balance-value{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.power-balance-value .power-from,.power-balance-value .power-to{color:#ffffffe6;font-size:13px;font-weight:400}.power-balance-value .power-symbol{color:var(--vsg-gold);font-size:18px;font-weight:400}.power-balance-value .power-numbers{color:#ffffff80;font-size:11px;font-style:normal}.romantic-heart-icon{position:absolute;bottom:2px;right:2px;z-index:4;filter:drop-shadow(0 0 2px rgba(var(--vsg-magenta-rgb),.6));pointer-events:none}.romantic-info{color:var(--vsg-magenta);gap:6px}.power-legend-symbol{color:var(--vsg-gold);font-size:16px;font-weight:400;width:20px;display:inline-flex;justify-content:center}@media (max-width: 600px){.grid-layout{flex-direction:column!important}.grid-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%}.relation-details-panel{flex:1 1 auto!important;width:100%!important;max-height:calc(40 * var(--vh-fit));overflow-y:auto}}.grid-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.matrix-network-view{width:100%;display:flex;gap:24px;position:relative;justify-content:center;align-items:flex-start}.network-svg{flex:1;max-width:900px;height:600px;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px}.relation-edge{transition:stroke-width .2s,stroke-opacity .2s}.relation-edge:hover{stroke-width:4!important;stroke-opacity:1!important}.character-node{cursor:pointer;transition:all .2s}.character-node:hover .node-circle{stroke-width:3;filter:drop-shadow(0 0 10px rgba(var(--vsg-purple-rgb),.5))}.character-node.selected .node-circle{filter:drop-shadow(0 0 16px rgba(var(--vsg-gold-rgb),.8))}.character-node.hovered .node-circle{transform:scale(1.1)}.node-circle{transition:all .2s}.node-label,.node-type{pointer-events:none;-webkit-user-select:none;user-select:none}.character-info-panel{flex:0 0 280px;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;animation:slideInRight .3s ease}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.info-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;background:rgba(var(--vsg-purple-rgb),.1);border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.info-header h4{margin:0;color:#ffffffed;font-size:16px;font-weight:400;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.char-type-badge{font-size:10px;font-weight:400;padding:4px 8px;border-radius:4px;text-transform:uppercase;flex-shrink:0}.char-type-badge.PC{background:rgba(var(--vsg-purple-rgb),.3);color:#ffffffdb}.char-type-badge.NPC{background:rgba(var(--vsg-purple-rgb),.3);color:#ffffffed}.info-body{flex:1;padding:16px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.info-item{display:flex;flex-direction:column;gap:4px}.relations-list{display:flex;flex-direction:column;gap:12px;padding-top:12px;border-top:1px solid rgba(var(--vsg-purple-rgb),.2)}.relations-list h5{margin:0;color:#ffffffdb;font-size:12px;font-weight:400;text-transform:uppercase;letter-spacing:.5px}.relation-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;background:rgba(var(--vsg-purple-rgb),.1);border-left:3px solid;border-radius:6px;transition:all .2s}.relation-item:hover{background:rgba(var(--vsg-purple-rgb),.15);transform:translate(4px)}.relation-target{color:#ffffffed;font-size:13px;font-weight:400;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.relation-type{color:#ffffffc2;font-size:11px;font-weight:400;text-transform:capitalize;padding:2px 8px;background:rgba(var(--vsg-purple-rgb),.2);border-radius:4px;flex-shrink:0}.info-body::-webkit-scrollbar{width:6px}.info-body::-webkit-scrollbar-track{background:rgba(var(--vsg-purple-rgb),.1)}.info-body::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.4);border-radius:3px}.info-body::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.6)}@media (max-width: 600px){.matrix-network-view{flex-direction:column!important}.network-svg{max-width:100%!important;width:100%!important;height:300px}.character-info-panel{flex:1 1 auto!important;width:100%!important;max-height:calc(40 * var(--vh-fit));overflow-y:auto}}.relationship-timeline-view{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:var(--card-bg, var(--vsg-surface));border-radius:8px;height:100%}.relationship-timeline-view.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--text-secondary, rgba(255, 255, 255, .53));min-height:300px}.relationship-timeline-view.empty .hint{font-size:.85rem;margin-top:.5rem;opacity:.7}.timeline-chart{display:flex;flex:1;min-height:200px;gap:.5rem}.y-axis{display:flex;flex-direction:column;justify-content:space-between;padding:.5rem 0;width:30px;font-size:.75rem;color:var(--text-secondary, rgba(255, 255, 255, .53))}.y-label{text-align:right}.timeline-points{display:flex;flex:1;gap:4px;align-items:flex-end;padding:.5rem 0;border-left:1px solid var(--border-color, rgba(var(--vsg-purple-rgb), .15));border-bottom:1px solid var(--border-color, rgba(var(--vsg-purple-rgb), .15));overflow-x:auto}.timeline-point{display:flex;flex-direction:column;align-items:center;flex:1;min-width:40px;max-width:80px;height:100%;cursor:pointer;position:relative}.timeline-point:hover .strength-bar{filter:brightness(1.2)}.strength-bar-container{flex:1;width:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative}.strength-value{position:absolute;top:-20px;left:50%;transform:translate(-50%);font-size:.7rem;font-weight:400;color:var(--text-primary, #fff);opacity:0;transition:opacity .2s ease}.timeline-point:hover .strength-value{opacity:1}.no-relation-marker{color:var(--text-secondary, rgba(255, 255, 255, .53));font-size:1.5rem;opacity:.5}.timeline-point.no-relation{opacity:.5}.session-label{padding-top:.5rem;font-size:.7rem;color:var(--text-secondary, rgba(255, 255, 255, .53));text-align:center}.session-index{font-weight:400}.change-indicator{position:absolute;top:0;right:2px;font-size:.8rem;font-weight:400;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center}.change-indicator.added{background:rgba(var(--vsg-success-rgb),.68);color:#fff}.change-indicator.modified{background:var(--vsg-caution);color:#fff}.change-indicator.removed{background:var(--vsg-error);color:#fff}.timeline-tooltip{background:var(--tooltip-bg, var(--vsg-surface));border:1px solid var(--border-color, rgba(var(--vsg-purple-rgb), .15));border-radius:6px;padding:.75rem;font-size:.85rem;box-shadow:0 4px 12px #0000004d}.tooltip-header{margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color, rgba(var(--vsg-purple-rgb), .15))}.tooltip-content{display:flex;flex-direction:column;gap:.25rem}.tooltip-row{display:flex;justify-content:space-between;gap:1rem}.tooltip-row .label{color:var(--text-secondary, rgba(255, 255, 255, .53))}.tooltip-row .value{font-weight:400}.tooltip-row .type-badge{font-weight:400;text-transform:capitalize}.tooltip-row.change{margin-top:.25rem}.change-badge{padding:2px 6px;border-radius:3px;font-size:.75rem;font-weight:400}.change-badge.added{background:rgba(var(--vsg-success-rgb),.14);color:rgba(var(--vsg-success-rgb),.68)}.change-badge.modified{background:rgba(var(--vsg-caution-rgb),.2);color:var(--vsg-caution)}.change-badge.removed{background:rgba(var(--vsg-error-rgb),.2);color:var(--vsg-error)}.no-relation-text{color:var(--text-secondary, rgba(255, 255, 255, .53));font-style:normal}.timeline-legend{display:flex;flex-wrap:wrap;gap:1.5rem;padding-top:.75rem;border-top:1px solid var(--border-color, rgba(var(--vsg-purple-rgb), .15));font-size:.75rem}.legend-section{display:flex;flex-direction:column;gap:.5rem}.legend-title{color:var(--text-secondary, rgba(255, 255, 255, .53));font-weight:300}:where(.relationship-timeline-view) .legend-items{display:flex;flex-wrap:wrap}:where(.relationship-timeline-view) .legend-item{display:flex;align-items:center}@media (max-width: 600px){.timeline-legend{flex-direction:column;gap:.75rem}}.relationship-diff-view{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:transparent;border-radius:8px;height:100%}.relationship-diff-view.empty{display:flex;align-items:center;justify-content:center;color:rgba(var(--vsg-purple-rgb),.6);min-height:300px}.diff-selectors{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.selector-group{display:flex;align-items:center;gap:.5rem}.selector-group label{font-size:.85rem;color:rgba(var(--vsg-purple-rgb),.6)}.selector-group select,.selector-group .session-dropdown{padding:.5rem .75rem;background:rgba(var(--vsg-purple-rgb),.08);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:#ffffffed;font-size:.85rem;min-width:180px}.selector-arrow{font-size:1.2rem;color:rgba(var(--vsg-purple-rgb),.6)}.diff-filters{display:flex;align-items:center;gap:1.5rem;padding:.75rem;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:6px}.filter-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:rgba(var(--vsg-purple-rgb),.7);cursor:pointer}.filter-checkbox .filter-label,.filter-checkbox input{cursor:pointer}.sort-control{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.sort-control label{color:rgba(var(--vsg-purple-rgb),.6)}.sort-control select,.sort-control .sort-dropdown{padding:.35rem .5rem;background:rgba(var(--vsg-purple-rgb),.08);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;color:#ffffffed;font-size:.8rem}.diff-summary{display:flex;flex-wrap:wrap;gap:.75rem}.summary-stat{padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:400}.summary-stat.added,.summary-stat.improved{background:rgba(var(--vsg-success-rgb),.15);color:var(--vsg-success)}.summary-stat.removed,.summary-stat.worsened{background:rgba(var(--vsg-magenta-rgb),.15);color:var(--vsg-magenta)}.summary-stat.type-changed{background:rgba(var(--vsg-gold-rgb),.15);color:var(--vsg-gold)}.diff-table-container{flex:1;overflow:auto;background:rgba(var(--vsg-purple-rgb),.02);border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:8px}.no-diffs{display:flex;align-items:center;justify-content:center;height:200px;color:rgba(var(--vsg-purple-rgb),.6);font-style:normal}.diff-table{width:100%;border-collapse:collapse;font-size:.85rem;table-layout:fixed}.diff-table th{position:sticky;top:0;background:rgba(var(--vsg-purple-rgb),.15);padding:.75rem;text-align:left;font-weight:400;color:#ffffffed;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.3)}.diff-table th:nth-child(1),.diff-table td:nth-child(1){width:35%}.diff-table th:nth-child(2),.diff-table td:nth-child(2){width:22%}.diff-table th:nth-child(3),.diff-table td:nth-child(3){width:22%}.diff-table th:nth-child(4),.diff-table td:nth-child(4){width:21%}.diff-table td{padding:.6rem .75rem;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.08)}.diff-row:hover{background:rgba(var(--vsg-purple-rgb),.08)}.diff-pair{white-space:nowrap}.diff-pair .char-from,.diff-pair .char-to{font-weight:400}.diff-pair .arrow{margin:0 .5rem;color:rgba(var(--vsg-purple-rgb),.6)}.diff-before,.diff-after{display:flex;align-items:center;gap:.5rem}.diff-before .strength,.diff-after .strength{font-weight:400;min-width:20px}.diff-before .type,.diff-after .type{padding:2px 6px;background:rgba(var(--vsg-purple-rgb),.15);border-radius:3px;font-size:.75rem;text-transform:capitalize;color:rgba(var(--vsg-purple-rgb),.9)}.diff-before .none,.diff-after .none{color:rgba(var(--vsg-purple-rgb),.5)}.diff-change{font-weight:400}.change-label{display:inline-block}.change-delta{margin-left:.5rem;font-weight:400}.diff-row.added td:first-child{border-left:3px solid var(--vsg-success)}.diff-row.removed td:first-child{border-left:3px solid var(--vsg-magenta)}.diff-row.improved td:first-child{border-left:3px solid var(--vsg-success)}.diff-row.worsened td:first-child{border-left:3px solid var(--vsg-magenta)}.diff-row.type-changed td:first-child{border-left:3px solid var(--vsg-gold)}.diff-row.unchanged td:first-child{border-left:3px solid rgba(var(--vsg-purple-rgb),.4)}@media (max-width: 600px){.diff-selectors{flex-direction:column;align-items:stretch}.selector-arrow{align-self:center;transform:rotate(90deg)}.diff-filters{flex-direction:column;align-items:flex-start;gap:.75rem}.diff-table{font-size:.8rem}}.session-change-summary{background:var(--card-bg, rgba(var(--vsg-purple-rgb), .05));border:1px solid var(--border-color, rgba(var(--vsg-purple-rgb), .2));border-radius:8px;padding:1rem;margin-bottom:1rem}.session-change-summary.empty{padding:.75rem 1rem}.no-changes{color:var(--text-secondary, rgba(255, 255, 255, .53));font-size:.85rem;font-style:normal}.summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color, rgba(var(--vsg-purple-rgb), .2))}.summary-header h4{margin:0;font-size:.9rem;color:var(--text-primary, rgba(255, 255, 255, .93))}.change-counts{display:flex;gap:.5rem}.change-counts .count{padding:2px 6px;border-radius:4px;font-size:.75rem;font-weight:400}.change-counts .count.added{background:rgba(var(--vsg-success-rgb),.14);color:rgba(var(--vsg-success-rgb),.68)}.change-counts .count.modified{background:rgba(var(--vsg-caution-rgb),.2);color:var(--vsg-caution)}.change-counts .count.removed{background:rgba(var(--vsg-error-rgb),.2);color:var(--vsg-error)}.changes-list{display:flex;flex-direction:column;gap:.75rem}.change-pair{color:var(--text-primary, rgba(255, 255, 255, .76));font-weight:400}.change-details{display:flex;align-items:center;gap:.5rem}.change-type{padding:1px 5px;background:rgba(var(--vsg-purple-rgb),.2);border-radius:3px;font-size:.7rem;text-transform:capitalize}.change-type.strikethrough{text-decoration:line-through;opacity:.7}.type-change{font-size:.7rem;color:var(--text-secondary, rgba(255, 255, 255, .53))}.change-strength{font-weight:400;color:var(--text-primary, rgba(255, 255, 255, .76))}.strength-delta{font-weight:400;font-size:.75rem}.strength-delta.positive{color:rgba(var(--vsg-success-rgb),.68)}.strength-delta.negative{color:var(--vsg-error)}@media (max-width: 600px){.change-details{padding-left:.5rem}}.session-state-panel{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem}.state-section{background:var(--card-bg, rgba(var(--vsg-purple-rgb), .05));border:1px solid var(--border-color, rgba(var(--vsg-purple-rgb), .2));border-radius:8px;padding:.75rem 1rem}.state-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding-bottom:.4rem;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.1)}.state-section-header h4{margin:0;font-size:.85rem;color:var(--text-primary, rgba(255, 255, 255, .93));font-weight:400}.state-count{color:var(--vsg-purple);font-size:.75rem}.memory-highlight-list{display:flex;flex-direction:column;gap:.5rem}.memory-highlight-card{padding:.5rem .65rem;background:#0003;border-left:2px solid rgba(var(--vsg-purple-rgb),.3);border-radius:0 4px 4px 0}.memory-highlight-content{color:#ffffffed;font-size:.8rem;line-height:1.45;margin-bottom:.35rem}.memory-highlight-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.memory-highlight-character{color:#ffffffc2;font-size:.72rem;font-weight:400}.memory-highlight-emotions{display:flex;gap:.25rem}.emotion-badge{display:inline-block;padding:1px 6px;border-radius:10px;font-size:.68rem;font-weight:400;background:rgba(var(--vsg-purple-rgb),.1);color:#ffffffc2;border:1px solid rgba(var(--vsg-purple-rgb),.2)}.emotion-roster{display:flex;flex-direction:column;gap:.35rem}.character-emotion-row{display:flex;align-items:center;gap:.5rem;padding:.3rem .4rem;background:#00000026;border-radius:4px}.character-emotion-name{color:#ffffffc2;font-size:.78rem;font-weight:400;min-width:80px}.character-emotion-tags{display:flex;gap:.25rem;flex:1;flex-wrap:wrap}.character-emotion-count{color:var(--vsg-purple);font-size:.7rem;opacity:.8}.entity-counts{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.5rem}.entity-count-pill{padding:2px 8px;border-radius:10px;font-size:.72rem;font-weight:400}.entity-count-pill.pc-pill{background:rgba(var(--vsg-info-rgb),.15);color:var(--vsg-info);border:1px solid rgba(var(--vsg-info-rgb),.25)}.entity-count-pill.npc-pill{background:rgba(var(--vsg-purple-rgb),.1);color:#ffffffc2;border:1px solid rgba(var(--vsg-purple-rgb),.2)}.entity-count-pill.lore-pill{background:rgba(var(--vsg-gold-rgb),.1);color:var(--vsg-gold);border:1px solid rgba(var(--vsg-gold-rgb),.2)}.new-entities{display:flex;align-items:baseline;gap:.4rem;flex-wrap:wrap}.new-entities-label{color:var(--vsg-purple);font-size:.72rem;font-style:normal}.new-entity-tags{display:flex;gap:.25rem;flex-wrap:wrap}.new-entity-tag{padding:1px 6px;border-radius:10px;font-size:.68rem;font-weight:400;background:rgba(var(--vsg-success-rgb),.1);color:var(--vsg-success);border:1px solid rgba(var(--vsg-success-rgb),.17)}@media (max-width: 600px){.character-emotion-row{flex-direction:column;align-items:flex-start}.character-emotion-name{min-width:unset}}.character-matrix-view{width:100%;height:100%;display:flex;flex-direction:column}.character-matrix-view.loading,.character-matrix-view.error,.character-matrix-view.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;padding:60px 20px}.character-matrix-view.error p,.character-matrix-view.empty p{color:rgba(var(--vsg-purple-rgb),.5);font-family:var(--font-primary);font-size:16px;margin:0}.matrix-controls{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:rgba(var(--vsg-purple-rgb),.05);border-bottom:2px solid rgba(var(--vsg-purple-rgb),.2)}.matrix-info{display:flex;gap:16px;align-items:center}.matrix-count{color:#ffffffe6;font-size:14px;font-weight:400;font-family:var(--font-primary)}.matrix-updated{color:rgba(var(--vsg-purple-rgb),.7);font-size:13px}.snapshot-story-info{display:flex;gap:20px;padding:8px 20px;font-size:12px;color:#fff9;background:rgba(var(--vsg-purple-rgb),.03);border-bottom:1px solid rgba(var(--vsg-purple-rgb),.1)}.story-info-item{display:inline-flex;gap:4px}.story-info-label{color:rgba(var(--vsg-purple-rgb),.6);font-weight:400}.historical-indicator{background:rgba(var(--vsg-gold-rgb),.2);color:var(--vsg-gold);padding:4px 8px;border-radius:4px;font-size:12px;font-weight:400;font-family:var(--font-primary)}.view-toggle{display:flex;gap:8px;position:relative;z-index:1}.view-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:rgba(var(--vsg-purple-rgb),.8);font-size:13px;font-weight:400;font-family:var(--font-primary);cursor:pointer;transition:all .2s ease;position:relative;z-index:1}.view-btn:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.5);color:var(--vsg-purple)}.view-btn.active{background:rgba(var(--vsg-purple-rgb),.2);border-color:var(--vsg-purple);color:var(--vsg-purple);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.2)}.view-btn .btn-icon{font-size:16px}.matrix-controls-right{display:flex;gap:16px;align-items:center}.session-selector{display:flex;align-items:center;gap:8px}.session-selector label{color:rgba(var(--vsg-purple-rgb),.7);font-size:13px;font-family:var(--font-primary);white-space:nowrap}.session-selector .session-dropdown{min-width:200px;max-width:300px;padding:8px 12px;padding-right:36px!important;font-size:13px}.matrix-content{flex:1;overflow:auto;padding:24px}.matrix-content::-webkit-scrollbar{width:8px;height:8px}.matrix-content::-webkit-scrollbar-track{background:#0000004d;border-radius:4px}.matrix-content::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.2);border-radius:4px}.matrix-content::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.3)}.timeline-view-container{height:100%;display:flex;flex-direction:column}.timeline-overlay-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.timeline-overlay-message .timeline-prompt{color:var(--vsg-purple);font-family:var(--font-primary);font-size:18px;font-weight:400;margin:0 0 8px}.timeline-overlay-message .timeline-hint{color:rgba(var(--vsg-purple-rgb),.6);font-family:var(--font-primary);font-size:14px;margin:0}.matrix-info .loading-indicator{color:var(--vsg-purple);font-size:13px;font-family:var(--font-primary);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}:where(.character-matrix-view) .timeline-loading,.diff-loading,.diff-unavailable{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;min-height:200px}.diff-unavailable p{color:rgba(var(--vsg-purple-rgb),.5);font-family:var(--font-primary);font-size:16px;margin:0}.members-matrix-view{width:100%;height:100%;display:flex;flex-direction:column}.members-matrix-view.loading,.members-matrix-view.error,.members-matrix-view.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;padding:60px 20px}.members-matrix-view.error p,.members-matrix-view.empty p{color:rgba(var(--vsg-purple-rgb),.5);font-family:var(--font-primary);font-size:16px;margin:0}.members-matrix-view .empty-hint{color:rgba(var(--vsg-purple-rgb),.4)!important;font-size:14px!important;margin-top:8px!important}.members-matrix-info{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:rgba(var(--vsg-purple-rgb),.05);border-bottom:2px solid rgba(var(--vsg-purple-rgb),.2)}.members-matrix-info .matrix-count{color:#ffffffe6;font-size:14px;font-weight:400}.members-matrix-info .matrix-updated{color:rgba(var(--vsg-purple-rgb),.7);font-size:13px}.member-relationship-lookup{background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;padding:16px 20px;margin:24px 24px 0}.lookup-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.lookup-arrow{color:rgba(var(--vsg-purple-rgb),.7);font-size:18px;font-weight:400;flex-shrink:0}.lookup-results{margin-top:16px;display:flex;flex-direction:column;gap:12px}.lookup-relationship-details{display:flex;flex-direction:column;gap:12px}.lookup-relationship{background:rgba(var(--vsg-purple-rgb),.08);border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:8px;padding:12px 16px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.lookup-name{color:#ffffffe6;font-size:13px;font-weight:400}.lookup-arrow-small{color:rgba(var(--vsg-purple-rgb),.7);font-size:14px}.lookup-type{font-size:11px;font-weight:400;padding:4px 10px;border-radius:6px;text-transform:capitalize;color:#fff}.lookup-strength{color:#ffffffb3;font-size:12px;font-weight:400;padding:2px 8px;background:rgba(var(--vsg-purple-rgb),.2);border-radius:4px}.lookup-description{width:100%;margin:8px 0 0;color:#ffffffb3;font-size:12px;line-height:1.4}.lookup-no-relationship{color:#ffffff73;font-size:12px;font-style:normal;margin:0}.members-matrix-grid-container{overflow:auto;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;padding:12px;margin:24px;max-height:600px;width:fit-content;max-width:calc(100% - 48px)}.members-matrix-grid{display:grid;gap:4px;width:fit-content}.members-matrix-view .corner-cell{width:44px;height:44px;background:rgba(var(--vsg-purple-rgb),.1);border-radius:8px}.members-matrix-view .header-cell,.members-matrix-view .row-header-cell{width:44px;height:44px;background:rgba(var(--vsg-purple-rgb),.1);border-radius:8px;padding:2px;display:flex;align-items:center;justify-content:center;overflow:hidden;box-sizing:border-box}.member-header-btn{display:flex;flex-direction:column;gap:0;align-items:center;justify-content:center;width:100%;height:100%;max-height:40px;background:transparent;border:none;color:#ffffffe6;cursor:pointer;font-size:9px;font-weight:400;overflow:hidden;padding:4px;border-radius:4px;transition:all .2s}.row-header-cell .member-header-btn{align-items:flex-start}.member-header-btn:hover{background:rgba(var(--vsg-purple-rgb),.2)}.member-header-btn .member-name{max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.members-matrix-view .gm-header{background:rgba(var(--vsg-magenta-rgb),.3)}.members-matrix-view .gm-header .member-header-btn{color:var(--vsg-magenta)}.members-matrix-view .matrix-cell{background:rgba(var(--vsg-purple-rgb),.03);border:1px solid rgba(var(--vsg-purple-rgb),.1);border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s;cursor:pointer;width:44px;height:44px;padding:0;box-sizing:border-box}.self-cell{background:#0000001a;cursor:default}.self-indicator{color:#ffffff73;font-size:16px;font-weight:400}.no-relation{color:rgba(var(--vsg-info-rgb),.4);font-size:20px}.relation-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;width:40px;height:40px;margin:0 auto;border-radius:8px;cursor:pointer;transition:all .2s;gap:2px}.relation-indicator:hover{transform:scale(1.1)}.relation-icon{font-size:14px}.relation-strength{font-size:9px;font-weight:400;color:#fff}.member-relationship-detail{background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;padding:20px;margin:0 24px 24px;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.member-relationship-detail h4{margin:0 0 16px;color:#ffffffe6;font-size:16px;font-weight:400}:where(.members-matrix-view) .detail-content{display:flex;flex-direction:column}.detail-row{display:flex;align-items:center;gap:12px}.detail-label{color:rgba(var(--vsg-purple-rgb),.7);font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.5px;min-width:100px}.members-matrix-view .type-badge{padding:4px 12px;border-radius:6px;color:#fff;font-size:11px;font-weight:400;text-transform:capitalize}.close-detail-btn{margin-top:16px;padding:8px 16px;background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:rgba(var(--vsg-purple-rgb),.7);cursor:pointer;font-size:13px;transition:all .2s}.close-detail-btn:hover{background:rgba(var(--vsg-purple-rgb),.2);border-color:var(--vsg-purple);color:#ffffffe6}.members-matrix-legend{background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;padding:16px 20px;margin:0 24px 24px}.members-matrix-legend h5{margin:0 0 12px;color:#ffffffe6;font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.5px}.members-matrix-grid-container::-webkit-scrollbar{width:8px;height:8px}.members-matrix-grid-container::-webkit-scrollbar-track{background:rgba(var(--vsg-purple-rgb),.1);border-radius:4px}.members-matrix-grid-container::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.4);border-radius:4px}.members-matrix-grid-container::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.6)}.members-matrix-grid-container::-webkit-scrollbar-corner{background:rgba(var(--vsg-purple-rgb),.1)}.level-access-modal{position:relative;background:transparent;border-radius:12px;width:90%;max-width:560px;max-height:calc(90 * var(--vh-fit));overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3);border:1px solid rgba(var(--vsg-purple-rgb),.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.level-access-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05)}.level-access-modal .modal-title{font-family:var(--font-primary);font-size:1.25rem;font-weight:400;color:var(--vsg-purple);margin:0;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5)}.level-access-modal .modal-content{padding:16px 24px;overflow-y:auto;flex:1}.level-access-rule{margin:0 0 4px;color:#ffffffe6;font-size:.95rem}.level-access-gm-note{margin:0 0 14px;color:rgba(var(--vsg-purple-rgb),.75);font-size:.8rem}.level-access-roster{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.level-access-row{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:8px;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.12)}.level-access-role{margin-left:auto;font-size:11px;text-transform:uppercase;letter-spacing:.3px;padding:1px 8px;border-radius:10px;border:1px solid rgba(var(--vsg-purple-rgb),.3);color:var(--vsg-purple)}.level-access-role--player{color:var(--vsg-success);border-color:rgba(var(--vsg-success-rgb),.3)}.level-access-character-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:1.5px solid rgba(var(--vsg-purple-rgb),.5)}.level-access-character{display:flex;flex-direction:column;min-width:0}.level-access-character-name{color:#fff;font-weight:400}.level-access-character-controller{color:#fff9;font-size:.8rem}.level-access-modal .modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05)}.archives-sidebar{width:220px;min-width:220px;background:#0000004d;border-right:1px solid rgba(var(--vsg-purple-rgb),.15);padding:20px 0}.archives-sidebar-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.archives-sidebar-item{display:flex;align-items:center;gap:10px;width:100%;padding:14px 20px;background:transparent;border:none;cursor:pointer;text-align:left;color:#fff9;font-size:13px;font-family:var(--font-primary);letter-spacing:.5px;transition:all .3s ease;border-left:3px solid transparent;position:relative}.archives-sidebar-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,rgba(var(--vsg-purple-rgb),.1),transparent);transition:width .3s ease}.archives-sidebar-item:hover:not(.disabled){color:#ffffffe6;background:rgba(var(--vsg-purple-rgb),.05)}.archives-sidebar-item:hover:not(.disabled):before{width:100%}.archives-sidebar-item.active{background:rgba(var(--vsg-purple-rgb),.1);border-left-color:var(--vsg-purple);color:var(--vsg-purple);text-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.3)}.archives-sidebar-item.active:before{width:100%;background:linear-gradient(90deg,rgba(var(--vsg-purple-rgb),.15),transparent)}.archives-sidebar-item.disabled{opacity:.35;cursor:not-allowed;color:#ffffff4d}.sidebar-label{font-weight:400;text-transform:uppercase;letter-spacing:1px}@media (max-width: 600px){.archives-sidebar{width:100%;min-width:unset;border-right:none;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15);padding:12px 0}.archives-sidebar-list{flex-direction:row;justify-content:space-around;padding:0 12px}.archives-sidebar-item{flex-direction:column;padding:10px 16px;gap:4px;border-left:none;border-bottom:2px solid transparent;text-align:center}.archives-sidebar-item:before{display:none}.archives-sidebar-item.active{border-left:none;border-bottom-color:var(--vsg-purple)}.sidebar-label{font-size:10px;letter-spacing:.5px}}.essence-view{display:flex;flex-direction:column;gap:24px}.essence-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.essence-empty .empty-title{color:rgba(var(--vsg-purple-rgb),.8);font-family:var(--font-primary);font-size:16px;margin:0 0 8px}.essence-empty .hint{font-size:12px;color:#ffffff59}.essence-view .story-section{background:rgba(var(--vsg-purple-rgb),.04);border-radius:12px;padding:20px 24px;border:1px solid rgba(var(--vsg-purple-rgb),.1)}.essence-view .story-section:hover{border-color:rgba(var(--vsg-purple-rgb),.2)}.gm-canon-badge{display:inline-flex;align-items:center;padding:2px 10px;margin-left:10px;background:rgba(var(--vsg-purple-rgb),.15);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;font-size:10px;font-weight:400;color:var(--vsg-purple);font-family:var(--font-primary);text-transform:uppercase;letter-spacing:.5px;vertical-align:middle}.secrets-pyramid{display:flex;flex-direction:column;align-items:center;gap:8px}.secrets-pyramid-empty{text-align:center;color:#fff6;font-size:13px;padding:20px}.pyramid-layer{width:100%;padding:14px 18px;background:rgba(var(--vsg-purple-rgb),.04);border:1px solid rgba(var(--vsg-purple-rgb),.12);border-radius:10px;transition:all .3s ease;margin:0 auto}.pyramid-layer:hover{border-color:rgba(var(--vsg-purple-rgb),.3);background:rgba(var(--vsg-purple-rgb),.06)}.pyramid-layer--rank-4,.pyramid-layer--rank-3{box-shadow:0 0 12px rgba(var(--vsg-purple-rgb),.1)}.pyramid-layer-header{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.pyramid-layer-label{font-size:14px;font-weight:400;color:var(--vsg-purple);font-family:var(--font-primary);letter-spacing:.3px;white-space:nowrap}.pyramid-layer-description{font-size:12px;color:#fff6;font-style:normal}.pyramid-layer-placeholder{font-style:normal;color:#fff3}.pyramid-layer-summary{font-size:.8rem;color:#ffffff80;font-style:normal;margin:2px 0 6px;line-height:1.3}.pyramid-characters{display:flex;flex-wrap:wrap;gap:6px}.pyramid-characters-empty{font-size:12px;color:#ffffff40;font-style:normal}.pyramid-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:14px;font-size:12px;color:#ffffffd9;transition:all .2s ease}.pyramid-chip--clickable{cursor:pointer}.pyramid-chip--clickable:hover{background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.4);color:var(--vsg-purple)}.pyramid-chip--locked{border-color:rgba(var(--vsg-purple-rgb),.4)}.pyramid-chip-lock{font-size:10px;line-height:1}.secrets-change-summary{background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:8px;padding:1rem;margin-top:16px}.secrets-change-summary.empty{padding:.75rem 1rem}.secrets-change-summary .no-changes{color:#ffffff80;font-size:13px;font-family:var(--font-primary)}.secrets-change-summary .summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15)}.secrets-change-summary .summary-header h4{margin:0;font-size:13px;font-weight:400;color:#ffffffd9;font-family:var(--font-primary)}.secrets-change-summary .change-counts{display:flex;gap:.5rem}.secrets-change-summary .change-counts .count{padding:2px 6px;border-radius:4px;font-size:11px;font-weight:400;font-family:var(--font-primary)}.secrets-change-summary .count.promoted{background:rgba(var(--vsg-success-rgb),.14);color:rgba(var(--vsg-success-rgb),.68)}.secrets-change-summary .count.added{background:rgba(var(--vsg-info-rgb),.2);color:var(--vsg-info)}.secrets-change-summary .count.demoted{background:rgba(var(--vsg-caution-rgb),.2);color:var(--vsg-caution)}.secrets-change-summary .count.removed{background:rgba(var(--vsg-error-rgb),.2);color:var(--vsg-error)}.secrets-change-summary .changes-list{display:flex;flex-direction:column;gap:.75rem}.secrets-change-summary .change-section h5{margin:0 0 .5rem;font-size:12px;font-weight:400;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:1px}.secrets-change-summary .change-section.promoted h5{color:rgba(var(--vsg-success-rgb),.68)}.secrets-change-summary .change-section.added h5{color:var(--vsg-info)}.secrets-change-summary .change-section.demoted h5{color:var(--vsg-caution)}.secrets-change-summary .change-section.removed h5{color:var(--vsg-error)}.secrets-change-summary .change-section ul{margin:0;padding:0;list-style:none}.secrets-change-summary .change-section li{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 10px;background:#0003;border-radius:4px;margin-bottom:4px;font-size:13px;font-family:var(--font-primary)}.secrets-change-summary .change-section li:last-child{margin-bottom:0}.secrets-change-summary .change-character{color:#ffffffe6;font-weight:400}.secrets-change-summary .change-details{display:flex;align-items:center;gap:6px}.secrets-change-summary .layer-badge{padding:1px 6px;background:rgba(var(--vsg-purple-rgb),.2);border-radius:3px;font-size:11px;color:rgba(var(--vsg-purple-rgb),.9);font-family:var(--font-primary)}.secrets-change-summary .layer-badge.faded{opacity:.5;text-decoration:line-through}.secrets-change-summary .layer-arrow{color:#ffffff80;font-size:12px}.secrets-change-summary .change-reason{width:100%;color:#ffffff80;font-size:12px;font-family:var(--font-primary);padding-left:2px}@media (max-width: 600px){.secrets-change-summary .change-section li{flex-direction:column;align-items:flex-start;gap:4px}.secrets-change-summary .change-details{padding-left:4px}}.secrets-view{display:flex;flex-direction:column;gap:24px}.secrets-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.secrets-empty .empty-title{color:rgba(var(--vsg-purple-rgb),.8);font-family:var(--font-primary);font-size:16px;margin:0 0 8px}.secrets-empty .hint{font-size:12px;color:#ffffff59}.secrets-view .story-section{background:rgba(var(--vsg-purple-rgb),.04);border-radius:12px;padding:20px 24px;border:1px solid rgba(var(--vsg-purple-rgb),.1)}.secrets-view .story-section:hover{border-color:rgba(var(--vsg-purple-rgb),.2)}.secrets-view .puppeteers-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.secrets-view .puppeteer-item{display:flex;flex-direction:column;gap:4px;padding:10px 14px;background:#0003;border-radius:8px;border-left:3px solid var(--vsg-purple);color:#ffffffd9;font-size:14px;line-height:1.6;transition:background .2s ease}.secrets-view .puppeteer-item:hover{background:rgba(var(--vsg-purple-rgb),.05)}.secrets-view .puppeteer-name{background:none;border:none;padding:0;color:var(--vsg-purple);font-size:14px;font-weight:400;text-align:left}.secrets-view button.puppeteer-name.clickable{cursor:pointer;transition:all .2s ease}.secrets-view button.puppeteer-name.clickable:hover{color:var(--vsg-purple);text-decoration:underline;text-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.3)}.secrets-view span.puppeteer-name{cursor:default;opacity:.85}.secrets-view .puppeteer-role{color:#ffffffb3;font-size:13px;line-height:1.5}.secrets-view .section-title-actions .secrets-session-dropdown{min-width:160px;max-width:220px;padding:4px 8px;padding-right:28px!important;font-size:11px}.secrets-broom-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:4px;border:none;border-radius:6px;background:transparent;color:var(--vsg-purple);cursor:pointer;transition:all .2s ease;margin-left:auto;vertical-align:middle}.secrets-broom-icon:hover{background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple);transform:scale(1.1)}.secrets-broom-icon:active{transform:scale(.95)}.secrets-broom-icon:disabled{opacity:.4;cursor:not-allowed}.secrets-broom-icon.loading .broom-svg{animation:secrets-broom-sweep .6s ease-in-out infinite}.secrets-broom-icon .broom-svg{width:20px;height:20px}@keyframes secrets-broom-sweep{0%{transform:rotate(0)}25%{transform:rotate(-15deg)}75%{transform:rotate(15deg)}to{transform:rotate(0)}}.structure-loading,.structure-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.structure-loading p,.structure-empty .empty-title{color:rgba(var(--vsg-purple-rgb),.8);font-family:var(--font-primary);font-size:16px;margin:0 0 8px}.structure-empty .hint{font-size:12px;color:#ffffff59}.structure-tree{display:flex;flex-direction:column;gap:12px}.tree-campaign,.tree-season,.tree-session,.tree-orphans{display:flex;flex-direction:column}.tree-children{margin-left:20px;padding-left:20px;border-left:1px solid rgba(var(--vsg-purple-rgb),.15);display:flex;flex-direction:column;gap:6px;margin-top:6px}.tree-item{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:10px;transition:all .2s ease}.tree-item:hover{background:rgba(var(--vsg-purple-rgb),.08)}.campaign-item{background:rgba(var(--vsg-purple-rgb),.06);border:1px solid rgba(var(--vsg-purple-rgb),.15)}.campaign-item:hover{border-color:rgba(var(--vsg-purple-rgb),.3);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.1)}.season-item{background:rgba(var(--vsg-purple-rgb),.03);border:1px solid rgba(var(--vsg-purple-rgb),.1)}.season-item:hover{border-color:rgba(var(--vsg-purple-rgb),.2)}.session-item{background:transparent;padding-left:28px}.session-item.clickable{cursor:pointer;background:rgba(var(--vsg-purple-rgb),.03);border:1px solid rgba(var(--vsg-purple-rgb),.1)}.session-item.clickable:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.3);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.1)}.session-item.clickable .tree-name{color:#ffffffe6;font-family:var(--font-primary)}.orphans-header{background:rgba(var(--vsg-purple-rgb),.04);border:1px solid rgba(var(--vsg-purple-rgb),.1);margin-top:16px}.orphans-label{font-size:12px;font-weight:400;color:var(--vsg-purple);text-transform:uppercase;letter-spacing:1px;font-family:var(--font-primary)}.tree-toggle{background:none;border:none;padding:6px 8px;cursor:pointer;color:#fff6;font-size:10px;transition:all .2s ease;border-radius:4px}.tree-toggle:hover{color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.1)}.tree-name{background:none;border:none;padding:0;color:#ffffffe6;font-size:14px;font-weight:400;cursor:pointer;text-align:left;transition:all .2s ease;font-family:var(--font-primary)}.tree-name:hover{color:var(--vsg-purple);text-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.3)}.tree-empty{padding:10px 16px;font-size:12px;color:#ffffff59;font-style:normal}.structure-detail{display:flex;flex-direction:column;gap:24px}.detail-breadcrumb{display:flex;align-items:center;gap:16px;padding-bottom:20px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15)}.breadcrumb-title{font-size:20px;font-weight:400;color:var(--vsg-purple);font-family:var(--font-primary);letter-spacing:.5px;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.2)}.breadcrumb-type{font-size:11px;color:#fff6;text-transform:uppercase;font-family:var(--font-primary);letter-spacing:1px}.reanalyze-btn{margin-left:auto}.detail-loading,.detail-no-analysis{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:50px 20px;text-align:center}.detail-loading p,.detail-no-analysis p{color:rgba(var(--vsg-purple-rgb),.7);margin:14px 0 0;font-family:var(--font-primary)}.detail-no-analysis .hint{font-size:12px;color:#ffffff59;margin-top:8px}.detail-section{background:rgba(var(--vsg-purple-rgb),.05);border-radius:12px;padding:18px 22px;border:1px solid rgba(var(--vsg-purple-rgb),.12);transition:all .3s ease}.detail-section:hover{border-color:rgba(var(--vsg-purple-rgb),.2);box-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.05)}.detail-section h3{font-size:10px;font-weight:400;color:var(--vsg-purple);margin:0 0 12px;text-transform:uppercase;letter-spacing:1.5px;font-family:var(--font-primary)}:where(.structure-detail,.structure-loading) .summary-text{color:#ffffffe6;font-size:14px;line-height:1.8;margin:0;white-space:pre-wrap}:where(.structure-detail,.structure-loading) .conflict-text{color:var(--vsg-gold);font-size:14px;line-height:1.7;margin:0;font-style:normal;padding-left:14px;border-left:3px solid var(--vsg-gold)}.detail-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.detail-list li{color:#fffc;font-size:13px;line-height:1.6;padding:8px 14px 8px 18px;position:relative;background:#0003;border-radius:6px;transition:background .2s ease}.detail-list li:hover{background:rgba(var(--vsg-purple-rgb),.05)}.detail-list li:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--vsg-purple);border-radius:3px 0 0 3px}:where(.structure-detail,.structure-loading) .tags-list{display:flex;flex-wrap:wrap;gap:8px}:where(.structure-detail,.structure-loading) .tag{padding:5px 14px;border-radius:20px;font-size:11px;font-family:var(--font-primary);letter-spacing:.5px;transition:all .2s ease}.theme-tag{background:rgba(var(--vsg-purple-rgb),.12);border:1px solid rgba(var(--vsg-purple-rgb),.2);color:rgba(var(--vsg-purple-rgb),.9)}.theme-tag:hover{background:rgba(var(--vsg-purple-rgb),.18);border-color:rgba(var(--vsg-purple-rgb),.35)}:where(.structure-detail,.structure-loading) .character-tag{background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.2);color:rgba(var(--vsg-purple-rgb),.8)}:where(.structure-detail,.structure-loading) .location-tag{background:rgba(var(--vsg-info-rgb),.1);border:1px solid rgba(var(--vsg-info-rgb),.2);color:var(--vsg-info)}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.tree-campaign,.tree-season,.tree-session,.detail-section{animation:slideIn .3s ease}@media (max-width: 600px){.tree-children{margin-left:8px;padding-left:8px}.tree-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:calc(100 * var(--vw-fit) - 80px)}}.mvps-view{display:flex;flex-direction:column;gap:28px}.mvps-summary{background:rgba(var(--vsg-purple-rgb),.06);border-radius:12px;padding:24px 28px;border:1px solid rgba(var(--vsg-purple-rgb),.15)}.mvps-summary h3{font-size:13px;font-weight:400;color:var(--vsg-purple);margin:0 0 16px;text-transform:uppercase;letter-spacing:1.5px;font-family:var(--font-primary)}.mvp-highlight{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mvp-highlight .mvp-character-name{color:var(--vsg-magenta);font-weight:400}.mvp-highlight .mvp-count{color:#ffffff80;font-size:13px}.mvps-table-container{background:rgba(var(--vsg-purple-rgb),.04);border-radius:12px;padding:24px 28px;border:1px solid rgba(var(--vsg-purple-rgb),.12)}.mvps-table-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.mvps-table-header h3{font-size:13px;font-weight:400;color:var(--vsg-purple);margin:0;text-transform:uppercase;letter-spacing:1.5px;font-family:var(--font-primary)}.mvps-table-container h3{font-size:13px;font-weight:400;color:var(--vsg-purple);margin:0 0 20px;text-transform:uppercase;letter-spacing:1.5px;font-family:var(--font-primary)}.mvp-broom-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:4px;border:none;border-radius:6px;background:transparent;color:var(--vsg-purple);cursor:pointer;transition:all .2s ease}.mvp-broom-icon:hover{background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple);transform:scale(1.1)}.mvp-broom-icon:active{transform:scale(.95)}.mvp-broom-icon:disabled{opacity:.4;cursor:not-allowed}.mvp-broom-icon.loading .broom-svg{animation:mvp-broom-sweep .6s ease-in-out infinite}.mvp-broom-icon .broom-svg{width:20px;height:20px}@keyframes mvp-broom-sweep{0%{transform:rotate(0)}25%{transform:rotate(-15deg)}75%{transform:rotate(15deg)}to{transform:rotate(0)}}.mvps-table{width:100%;border-collapse:separate;border-spacing:0}.mvps-table thead th{text-align:left;padding:12px 16px;font-size:11px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.7);text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15)}.mvps-table tbody tr{transition:background .2s ease}.mvps-table tbody tr:hover{background:rgba(var(--vsg-purple-rgb),.05)}.mvps-table tbody td{padding:14px 16px;font-size:13px;color:#ffffffd9;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.06);vertical-align:middle}.mvps-table tbody tr:last-child td{border-bottom:none}.mvps-table .mvp-session-name{font-weight:400;color:#ffffffe6;min-width:140px}.mvps-table .mvp-character{color:var(--vsg-magenta);font-weight:400;min-width:100px}.mvps-table .mvp-player{min-width:120px}.mvps-table .mvp-reason{color:#fff9;font-style:normal;font-size:12px}.mvps-view .story-empty{text-align:center;padding:60px 20px;color:#fff6;font-style:normal}.thucydides-view{display:flex;flex-direction:column;gap:16px;padding:16px}.thucydides-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:200px}.thucydides-loading-text{color:#fff9;font-size:13px}.thucydides-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.thucydides-header-info{display:flex;flex-direction:column;gap:4px}.thucydides-analyzed-at{font-size:11px;color:#fff6}.thucydides-header-buttons{display:flex;gap:8px;align-items:center}.thucydides-actions{display:flex;justify-content:center;margin-top:12px}.thucydides-summary p{color:#fffc;font-size:13px;line-height:1.6}.thucydides-consequences{display:flex;flex-direction:column;gap:12px}.thucydides-consequences>.thucydides-consequence{content-visibility:auto;contain-intrinsic-size:auto 430px}.thucydides-consequence{transition:opacity .2s}.thucydides-consequence.thucydides-dismissed{opacity:.4}.thucydides-consequence.thucydides-dismissed .section-title{text-decoration:line-through}.thucydides-consequence-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.thucydides-consequence-header .section-title{margin:0;flex:1}.thucydides-badges{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.thucydides-badge{font-size:10px;font-weight:400;letter-spacing:.5px;text-transform:uppercase;padding:2px 8px;border-radius:10px;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.2);color:#ffffffb3}.thucydides-significance-major{background:rgba(var(--vsg-error-rgb),.15);border-color:rgba(var(--vsg-error-rgb),.4);color:var(--vsg-error)}.thucydides-significance-medium{background:rgba(var(--vsg-caution-rgb),.15);border-color:rgba(var(--vsg-caution-rgb),.4);color:var(--vsg-caution)}.thucydides-significance-minor{color:#ffffff80}.thucydides-polarity-positive{color:rgba(var(--vsg-success-rgb),.84);border-color:rgba(var(--vsg-success-rgb),.25)}.thucydides-polarity-negative{color:var(--vsg-error);border-color:rgba(var(--vsg-error-rgb),.3)}.thucydides-status-pending{color:var(--vsg-analyzing);border-color:rgba(var(--vsg-analyzing-rgb),.3)}.thucydides-status-surfaced{color:var(--vsg-purple);border-color:rgba(var(--vsg-purple-rgb),.3)}.thucydides-status-resolved{color:#fff6}.thucydides-description{color:#fffc;font-size:13px;line-height:1.5;margin:4px 0}.thucydides-gm-edited{color:var(--vsg-purple);font-size:11px}.thucydides-edit-textarea{width:100%;background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:#ffffffe6;font-family:var(--font-primary);font-size:13px;padding:8px;resize:vertical}.thucydides-entities{display:flex;flex-direction:column;gap:4px;margin:8px 0;padding-left:8px;border-left:2px solid rgba(var(--vsg-purple-rgb),.2)}.thucydides-entity{font-size:12px;color:#ffffffb3}.thucydides-entity-name{color:var(--vsg-purple)}.thucydides-agenda-ref{color:rgba(var(--vsg-purple-rgb),.6);font-size:11px}.thucydides-timing{display:flex;gap:12px;font-size:11px;color:#fff6;margin:4px 0}.thucydides-hooks{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}.thucydides-hook-badge{font-size:10px;padding:2px 6px;border-radius:8px;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);color:var(--vsg-purple)}.thucydides-hook-interaction{font-size:10px;font-weight:400;color:#ffffff80;text-transform:uppercase}.thucydides-surface-rec{font-size:12px;color:#ffffff80;margin:4px 0;padding:4px 8px;border-left:2px solid rgba(var(--vsg-analyzing-rgb),.3)}.thucydides-footer{display:flex;justify-content:flex-start;align-items:center;gap:12px;padding:16px 0 0;border-top:1px solid rgba(var(--vsg-purple-rgb),.15);margin-top:8px}.thucydides-archived-section{margin-top:24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.1);padding-top:16px;opacity:.5}.thucydides-archived-section .section-title{font-size:13px;color:#fff6;margin-bottom:8px}.thucydides-archived-item{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:12px}.thucydides-archived-title{color:#ffffff80;text-decoration:line-through}.thucydides-archived-reason{color:#ffffff4d;font-size:11px}.thucydides-error{color:var(--vsg-error);font-size:13px;text-align:center}.campaign-section{background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;margin-bottom:32px;font-family:var(--font-primary);overflow:hidden;transition:border-color .2s ease}.campaign-section:hover{border-color:rgba(var(--vsg-purple-rgb),.4)}.campaign-section__header{display:flex;align-items:center;gap:12px;width:100%;padding:12px 18px;background:#00000080;border:none;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);cursor:pointer;font-family:var(--font-primary);font-weight:400;text-align:left;color:#fffffff2;transition:background .2s ease;outline:none}.campaign-section--collapsed .campaign-section__header{border-bottom:none}.campaign-section__header:hover{background:#000000a6}.campaign-section__header:focus-visible{outline:2px solid rgba(var(--vsg-purple-rgb),.6);outline-offset:-2px}.campaign-section__chevron{display:inline-block;width:14px;text-align:center;color:rgba(var(--vsg-purple-rgb),.7);font-size:12px;flex-shrink:0}.campaign-section__title{flex:1;font-family:var(--font-primary);font-size:14px;font-weight:400;color:rgba(var(--vsg-purple-rgb),1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.5px}.campaign-section__count{flex-shrink:0;font-family:var(--font-primary);font-size:11px;font-weight:400;color:#fff9;font-variant-numeric:tabular-nums}.campaign-section__content{position:relative;padding:12px 0}.campaign-section__empty{padding:24px;text-align:center;font-family:var(--font-primary);font-weight:400;font-size:12px;color:#ffffff80}.continuity-chart-wrapper{display:flex;flex-direction:column;width:100%;height:100%;min-height:500px}.continuity-chart{position:relative;width:100%;flex:1;min-height:400px;background:#0006;border-radius:12px;overflow:auto;padding:0}.continuity-chart-inner{position:relative;min-width:100%;min-height:100%;padding-top:40px}.continuity-chart-stack{position:relative;display:flex;flex-direction:column;padding:16px}.continuity-chart-orphan-pool{position:relative}.continuity-cross-section-arrow{pointer-events:stroke;cursor:help;transition:stroke .2s ease}.continuity-cross-section-arrow-group:hover .continuity-cross-section-arrow{stroke:rgba(var(--vsg-purple-rgb),.9)!important}.continuity-chart-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.continuity-chart-svg path{pointer-events:stroke}.continuity-node{position:absolute;background:#000c;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;padding:4px 6px;min-width:60px;max-width:70px;width:65px;height:40px;box-sizing:border-box;font-family:var(--font-primary);font-size:10px;color:#fffffff2;cursor:pointer;transition:all .3s ease;z-index:2;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.continuity-node:hover{border-color:rgba(var(--vsg-purple-rgb),.5);box-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.2);transform:translateY(-2px)}.continuity-node.selected{border-color:var(--vsg-purple);box-shadow:0 0 25px rgba(var(--vsg-purple-rgb),.3)}.continuity-node.dragging{opacity:.7;cursor:grabbing}.continuity-node.drop-target{box-shadow:0 0 0 3px rgba(var(--vsg-purple-rgb),.5)}.continuity-node__name{font-size:10px;font-weight:400;color:var(--vsg-purple);margin-bottom:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.continuity-node__date{font-size:8px;color:rgba(var(--vsg-purple-rgb),.7);margin-bottom:0;line-height:1.1}.continuity-node__characters{display:none}.continuity-arrow{stroke:var(--vsg-purple);stroke-width:2px;fill:none;transition:stroke .2s ease,stroke-width .2s ease}g:hover>.continuity-arrow{stroke:var(--vsg-magenta);stroke-width:3px;filter:drop-shadow(0 0 4px rgba(var(--vsg-magenta-rgb),.4))}.continuity-arrow.dragging{stroke:var(--vsg-purple);stroke-width:2px;stroke-dasharray:5,5;opacity:.7}.continuity-chart-svg .arrowhead{fill:var(--vsg-purple)}.storyline-row{display:flex;align-items:flex-start;min-height:100px;padding:16px 0;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.1);position:relative}.storyline-row:last-child{border-bottom:none}.storyline-row__label{min-width:160px;max-width:160px;padding-right:16px;font-family:var(--font-primary);font-size:13px;font-weight:400;text-transform:uppercase;letter-spacing:1px;display:flex;align-items:center;gap:8px;position:sticky;left:0;background:#0006;z-index:3}.storyline-row__color-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.storyline-row__name{color:#ffffffe6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.storyline-row__content{flex:1;position:relative;min-height:80px}.unlinked-section{margin-top:24px;padding:16px 20px 20px;border-top:1px dashed rgba(var(--vsg-purple-rgb),.2);min-height:120px}.unlinked-section__label{font-family:var(--font-primary);font-size:12px;color:rgba(var(--vsg-purple-rgb),.5);text-transform:uppercase;letter-spacing:1px;margin-bottom:16px}.unlinked-section__content{display:flex;flex-wrap:wrap;gap:16px;min-height:90px}.unlinked-section .continuity-node{position:relative!important;left:unset!important;top:unset!important;opacity:.7;border-style:dashed;flex-shrink:0}.continuity-context-menu{position:fixed;background:#000000f2;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;padding:8px 0;min-width:180px;z-index:1000;box-shadow:0 4px 20px #00000080}.continuity-context-menu__item{padding:10px 16px;font-family:var(--font-primary);font-size:13px;color:#ffffffe6;cursor:pointer;transition:background .2s ease}.continuity-context-menu__item:hover{background:rgba(var(--vsg-purple-rgb),.2)}.continuity-context-menu__item.destructive{color:var(--vsg-error)}.continuity-context-menu__item.destructive:hover{background:rgba(var(--vsg-error-rgb),.2)}.continuity-context-menu__divider{height:1px;background:rgba(var(--vsg-purple-rgb),.2);margin:8px 0}.storyline-editor{padding:24px}.storyline-editor__field{margin-bottom:20px}.storyline-editor__label{display:block;font-family:var(--font-primary);font-size:12px;color:#ffffffb3;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.storyline-editor__input{width:100%;padding:12px 16px;background:#0009;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:#fffffff2;font-family:var(--font-primary);font-size:14px}.storyline-editor__input:focus{outline:none;border-color:rgba(var(--vsg-purple-rgb),.6);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.2)}.storyline-editor__colors{display:flex;gap:12px;flex-wrap:wrap}.storyline-editor__color-option{width:36px;height:36px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:all .2s ease}.storyline-editor__color-option:hover{transform:scale(1.1)}.storyline-editor__color-option.selected{border-color:#fff;box-shadow:0 0 10px #ffffff4d}.storyline-editor__actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.storyline-editor__actions-right{display:flex;gap:12px}.storyline-editor__title{font-family:var(--font-primary);font-size:18px;color:var(--vsg-purple);margin-bottom:24px;text-transform:uppercase;letter-spacing:1px}.storyline-editor__error{padding:12px;margin-bottom:16px;background:rgba(var(--vsg-error-rgb),.2);border:1px solid rgba(var(--vsg-error-rgb),.4);border-radius:8px;color:var(--vsg-error);font-size:13px}.storyline-editor__btn{padding:10px 20px;border-radius:20px;font-family:var(--font-primary);font-size:12px;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .2s ease}.storyline-editor__btn:disabled{opacity:.5;cursor:not-allowed}.storyline-editor__btn--cancel{background:transparent;border:1px solid rgba(255,255,255,.3);color:#ffffffb3}.storyline-editor__btn--cancel:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff80;color:#fff}.storyline-editor__btn--save{background:rgba(var(--vsg-purple-rgb),.2);border:1px solid rgba(var(--vsg-purple-rgb),.4);color:var(--vsg-purple)}.storyline-editor__btn--save:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.3);border-color:rgba(var(--vsg-purple-rgb),.6)}.storyline-editor__btn--delete{background:transparent;border:1px solid rgba(var(--vsg-error-rgb),.3);color:rgba(var(--vsg-error-rgb),.7)}.storyline-editor__btn--delete:hover:not(:disabled){background:rgba(var(--vsg-error-rgb),.2);border-color:rgba(var(--vsg-error-rgb),.5);color:var(--vsg-error)}.storyline-editor-modal{background:#000000f2;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;min-width:400px;max-width:500px;box-shadow:0 8px 32px #00000080}.continuity-loading{display:flex;align-items:center;justify-content:center;min-height:300px;color:rgba(var(--vsg-purple-rgb),.7);font-family:var(--font-primary);font-size:14px}.continuity-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;color:#ffffff80;font-family:var(--font-primary);text-align:center}.continuity-empty__icon{font-size:48px;margin-bottom:16px;opacity:.5}.continuity-empty__title{font-size:16px;margin-bottom:8px}.continuity-empty__subtitle{font-size:13px;opacity:.7}.continuity-toolbar{display:flex;justify-content:flex-end;padding:8px 16px;gap:12px}.continuity-toolbar__edit-btn{width:36px;height:36px;border-radius:50%;background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.3);color:#ffffffb3;font-size:18px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.continuity-toolbar__edit-btn:hover{border-color:rgba(var(--vsg-purple-rgb),.6);color:var(--vsg-purple)}.continuity-toolbar__edit-btn.active{background:rgba(var(--vsg-purple-rgb),.3);border-color:var(--vsg-purple);color:#fff}.continuity-sever-prompt{position:fixed;transform:translate(-50%,calc(-100% - 12px));background:#000000f2;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:10px;padding:12px 16px;z-index:1000;box-shadow:0 4px 20px #0009,0 0 12px rgba(var(--vsg-purple-rgb),.15);display:flex;flex-direction:column;align-items:center;gap:10px}.continuity-sever-prompt__text{font-family:var(--font-primary);font-size:13px;color:#ffffffe6}.continuity-sever-prompt__actions{display:flex;gap:8px}.continuity-sever-prompt__btn{padding:6px 24px;border-radius:10px;font-family:var(--font-primary);font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:all .2s ease}.continuity-sever-prompt__btn--yes{background:#000000e6;border:1px solid rgba(var(--vsg-magenta-rgb),.5);color:var(--vsg-magenta)}.continuity-sever-prompt__btn--yes:hover{background:rgba(var(--vsg-magenta-rgb),.15);border-color:var(--vsg-magenta);box-shadow:0 0 12px rgba(var(--vsg-magenta-rgb),.3)}.continuity-sever-prompt__btn--no{background:#000000e6;border:1px solid rgba(var(--vsg-purple-rgb),.3);color:rgba(var(--vsg-purple-rgb),.7)}.continuity-sever-prompt__btn--no:hover{background:rgba(var(--vsg-purple-rgb),.08);border-color:rgba(var(--vsg-purple-rgb),.5);color:var(--vsg-purple)}.continuity-node.edit-selected{border:2px solid var(--vsg-purple);box-shadow:0 0 30px rgba(var(--vsg-purple-rgb),.4)}.continuity-node.edit-linked{border:2px solid var(--vsg-magenta);box-shadow:0 0 25px rgba(var(--vsg-magenta-rgb),.3)}.continuity-node.edit-selectable{border:1px solid rgba(var(--vsg-analyzing-rgb),.5);cursor:pointer}.continuity-node.edit-selectable:hover{border-color:rgba(var(--vsg-analyzing-rgb),.8);box-shadow:0 0 20px rgba(var(--vsg-analyzing-rgb),.3)}.continuity-node.edit-excluded{opacity:.3;pointer-events:none;filter:grayscale(.5)}.continuity-placeholder-node{position:absolute;width:65px;height:40px;border:2px dashed rgba(var(--vsg-purple-rgb),.4);border-radius:6px;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:2}.continuity-placeholder-node:hover{border-color:rgba(var(--vsg-purple-rgb),.7);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.2)}.continuity-placeholder-node__label{font-family:var(--font-primary);font-size:18px;color:rgba(var(--vsg-purple-rgb),.6)}.continuity-arrow.edit-severable{cursor:pointer}g:hover>.continuity-arrow.edit-severable{stroke-dasharray:4,4;stroke-width:3px;stroke:var(--vsg-magenta);filter:drop-shadow(0 0 4px rgba(var(--vsg-magenta-rgb),.4))}.continuity-arrow.edit-involved{stroke:var(--vsg-magenta);stroke-width:3px}@media (max-width: 600px){.storyline-row__label{min-width:100px;max-width:100px;font-size:10px}.continuity-node{min-width:60px;max-width:75px;width:70px;height:36px;padding:3px 6px}.continuity-node__name{font-size:9px}.unlinked-section__content{gap:10px}}.timeline-events{margin-top:8px}.timeline-events-toggle{display:inline-flex;align-items:center;gap:6px;padding:2px 0;background:transparent;border:none;color:var(--vsg-purple);opacity:.7;cursor:pointer;font-size:12px;transition:all .2s ease}.timeline-events-toggle:hover{opacity:1;transform:scale(1.05)}.timeline-events-toggle-icon{font-size:14px}.timeline-events-toggle-count{font-family:var(--font-primary);font-size:10px;text-transform:uppercase;letter-spacing:.5px}.timeline-events-list{list-style:none;margin:8px 0 0;padding:0 0 0 12px;border-left:2px solid rgba(var(--vsg-purple-rgb),.15);animation:timelineEventsSlideDown .2s ease}@keyframes timelineEventsSlideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.timeline-event-entry{padding:6px 0;display:flex;flex-direction:column;gap:2px}.timeline-event-entry+.timeline-event-entry{border-top:1px solid rgba(var(--vsg-purple-rgb),.06)}.timeline-event-text{font-size:12px;line-height:1.5;color:#ffffffb3}.timeline-event-participants{font-size:11px;color:rgba(var(--vsg-info-rgb),.7);font-style:normal}.timeline-event-entry--major .timeline-event-text{font-weight:400;color:#ffffffe6}.timeline-event-major-icon{color:var(--vsg-purple);font-size:10px;flex-shrink:0;margin-top:2px}.timeline-view{padding:16px 24px;overflow-y:auto;max-height:100%}.timeline-title{font-family:var(--font-primary);font-size:18px;font-weight:400;color:#ffffffe0;margin:0;text-transform:uppercase;letter-spacing:1px}.timeline-broom-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;background:rgba(var(--vsg-purple-rgb),.08);border:1px solid rgba(var(--vsg-purple-rgb),.2);color:var(--vsg-purple);cursor:pointer;transition:all .2s ease}.timeline-broom-icon:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple);transform:scale(1.1)}.timeline-broom-icon:active:not(:disabled){transform:scale(.95)}.timeline-broom-icon:disabled,.timeline-broom-icon.loading{opacity:.5;cursor:not-allowed}.timeline-broom-icon.loading .broom-svg{animation:timeline-broom-spin 1.2s linear infinite}@keyframes timeline-broom-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.timeline-entries{display:flex;flex-direction:column;gap:0;padding-left:20px;position:relative}.timeline-entries:before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:rgba(var(--vsg-purple-rgb),.2)}.timeline-entry{position:relative;padding:12px 0 12px 24px}.timeline-node{position:absolute;left:-17px;top:16px;width:10px;height:10px;border-radius:50%;background:rgba(var(--vsg-purple-rgb),.4);border:2px solid rgba(var(--vsg-purple-rgb),.6);z-index:1}.timeline-node--anchor{background:var(--vsg-purple);border-color:var(--vsg-purple);box-shadow:0 0 6px rgba(var(--vsg-purple-rgb),.4)}.timeline-connector{display:none}.timeline-entry-content{background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.12);border-radius:6px;padding:12px 16px;transition:border-color .2s ease}.timeline-entry-content:hover{border-color:rgba(var(--vsg-purple-rgb),.25)}.timeline-entry-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.timeline-session-name{display:block;flex:1;min-width:0;background:none;border:none;color:#ffffffe0;font-family:var(--font-primary);font-size:14px;font-weight:400;padding:0;margin:0;cursor:pointer;text-align:left;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;transition:color .2s ease}.timeline-session-name:hover{color:var(--vsg-purple)}.timeline-date{display:block;font-size:12px;color:rgba(var(--vsg-purple-rgb),.7);margin-bottom:6px;font-family:var(--font-primary);letter-spacing:.3px}.timeline-date--uncertain{opacity:.7;font-style:normal}.timeline-flags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.timeline-flag{display:inline-block;font-size:10px;padding:2px 8px;border-radius:3px;text-transform:uppercase;letter-spacing:.5px;font-weight:400}.timeline-flag--continuation,.timeline-flag--direct-continuation{background:rgba(var(--vsg-purple-rgb),.15);color:rgba(var(--vsg-purple-rgb),.8);border:1px solid rgba(var(--vsg-purple-rgb),.25)}.timeline-flag--merge{background:rgba(var(--vsg-gold-rgb),.15);color:rgba(var(--vsg-gold-rgb),.9);border:1px solid rgba(var(--vsg-gold-rgb),.25)}.timeline-flag--parallel{background:rgba(var(--vsg-info-rgb),.15);color:rgba(var(--vsg-info-rgb),.9);border:1px solid rgba(var(--vsg-info-rgb),.25)}.timeline-flag--anchor{background:rgba(var(--vsg-success-rgb),.12);color:rgba(var(--vsg-success-rgb),.7);border:1px solid rgba(var(--vsg-success-rgb),.19)}.timeline-blurb{font-size:13px;line-height:1.6;color:#ffffffbf;margin:0}.timeline-more-btn{background:none;border:none;color:rgba(var(--vsg-purple-rgb),.7);font-size:12px;font-family:var(--font-primary);cursor:pointer;padding:0;letter-spacing:.3px;transition:color .2s ease}.timeline-more-btn:hover{color:var(--vsg-purple)}.timeline-reorder-buttons{display:flex;flex-direction:column;gap:2px;flex-shrink:0}.timeline-reorder-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:16px;border-radius:3px;background:rgba(var(--vsg-purple-rgb),.08);border:1px solid rgba(var(--vsg-purple-rgb),.25);color:rgba(var(--vsg-purple-rgb),.7);cursor:pointer;padding:0;transition:all .2s ease}.timeline-reorder-btn:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.18);border-color:rgba(var(--vsg-purple-rgb),.5);color:var(--vsg-purple)}.timeline-reorder-btn:active:not(:disabled){transform:scale(.9)}.timeline-reorder-btn:disabled{opacity:.25;cursor:not-allowed}.timeline-header-left{display:flex;align-items:center;gap:16px}.timeline-filter-toggle{display:flex;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:6px;overflow:hidden}.timeline-filter-btn{padding:4px 12px;background:transparent;border:none;color:#ffffff80;font-size:11px;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .2s ease}.timeline-filter-btn:hover{color:#ffffffb3;background:rgba(var(--vsg-purple-rgb),.05)}.timeline-filter-btn--active{color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.12)}.timeline-filter-btn--active:hover{color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.15)}.continuity-panel{border:1px solid rgba(var(--vsg-purple-rgb),.35);background:rgba(var(--vsg-purple-rgb),.08);border-radius:8px;padding:16px 18px;margin:16px 0;font-family:var(--font-primary)}:where(.continuity-panel) .continuity-title{color:var(--vsg-purple);font-size:18px;font-weight:300;letter-spacing:.6px;margin:0 0 6px}:where(.continuity-panel) .continuity-hint{color:#ffffffbf;font-size:13px;font-weight:400;margin:0 0 14px;line-height:1.5}:where(.continuity-panel) .continuity-row{padding:10px 12px;margin-top:10px;border:1px solid rgba(255,255,255,.08);border-radius:6px;background:#0003}:where(.continuity-panel) .continuity-row-main{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-width:0}:where(.continuity-panel) .continuity-row-session{color:#ffffffeb;font-size:14px;font-weight:400;min-width:0}:where(.continuity-panel) .continuity-row-badges{display:flex;flex-wrap:wrap;gap:6px;flex:1 1 auto;min-width:0}:where(.continuity-panel) .continuity-row-action{display:flex;margin-left:auto}:where(.continuity-panel) .continuity-row-queued{color:rgba(var(--vsg-purple-rgb),.75);font-size:12px;font-weight:400}:where(.continuity-panel) .continuity-row-samples{margin-top:8px;padding-left:22px;display:flex;flex-direction:column;gap:4px}:where(.continuity-panel) .continuity-row-sample{font-size:12px;font-weight:400;line-height:1.5;overflow-wrap:anywhere}:where(.continuity-panel) .continuity-row-sample-label{color:rgba(var(--vsg-purple-rgb),.75);margin-right:6px}:where(.continuity-panel) .continuity-row-sample-ids{color:#ffffffb3}.archives-action-buttons{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:8px 0 12px;margin-bottom:4px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.1)}.archives-action-buttons__hint{margin-right:auto;font-size:13px;color:rgba(var(--vsg-purple-rgb),.7);font-style:normal}.archives-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid transparent;background:#0009;cursor:pointer;transition:all .2s ease}.archives-action-btn--confirm{color:var(--vsg-purple);border-color:rgba(var(--vsg-purple-rgb),.3)}.archives-action-btn--confirm:hover{background:rgba(var(--vsg-purple-rgb),.15);border-color:rgba(var(--vsg-purple-rgb),.6);box-shadow:0 0 8px rgba(var(--vsg-purple-rgb),.3);transform:scale(1.1)}.archives-action-btn--cancel{color:#ffffff80;border-color:#ffffff1a}.archives-action-btn--cancel:hover{color:var(--vsg-error);background:rgba(var(--vsg-error-rgb),.1);border-color:rgba(var(--vsg-error-rgb),.4);transform:scale(1.1)}.archives-edit-modal{background:var(--vsg-surface);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;max-width:600px;width:90%;max-height:calc(60 * var(--vh-fit));display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.2)}.archives-edit-modal-wide{max-width:960px}.archives-edit-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);flex-shrink:0}.archives-edit-modal .modal-title{font-size:20px;font-weight:400;color:var(--vsg-purple);margin:0}:where(.archives-edit-modal) .archives-edit-modal-content{display:flex;flex-direction:column;gap:20px;padding:24px;overflow-y:auto;flex:1}.archives-edit-modal .modal-actions{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.15);flex-shrink:0}.archives-edit-modal .error-message{padding:12px 16px;background:rgba(var(--vsg-error-rgb),.1);border:1px solid rgba(var(--vsg-error-rgb),.3);border-radius:6px;color:var(--vsg-error);font-size:14px}.archives-edit-modal .form-group{display:flex;flex-direction:column;gap:8px}.archives-edit-modal .form-label-row{display:flex;align-items:center;gap:12px}.archives-edit-modal .form-label{font-size:14px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.8)}.archives-edit-modal .form-input,.archives-edit-modal .form-textarea{padding:10px 14px;background:#00000080;border:.25px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:var(--vsg-purple);font-size:14px;font-family:var(--font-primary);outline:none;transition:all .2s ease}.archives-edit-modal .form-input::placeholder,.archives-edit-modal .form-textarea::placeholder{color:rgba(var(--vsg-purple-rgb),.4)}.archives-edit-modal .form-input:focus,.archives-edit-modal .form-textarea:focus{outline:none;border-color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.05);box-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.2)}.archives-edit-modal .form-input:disabled,.archives-edit-modal .form-textarea:disabled{opacity:.5;cursor:not-allowed}.archives-edit-modal .form-textarea{resize:vertical;min-height:80px;line-height:1.6}.string-list-editor{display:flex;flex-direction:column;gap:8px}.string-list-item{display:flex;gap:8px;align-items:center}.string-list-item .form-input{flex:1}:where(.archives-edit-modal) .string-list-remove{padding:6px 10px;background:rgba(var(--vsg-magenta-rgb),.15);border:1px solid rgba(var(--vsg-magenta-rgb),.3);border-radius:6px;color:var(--vsg-magenta);cursor:pointer;font-size:14px;transition:all .2s ease;flex-shrink:0}:where(.archives-edit-modal) .string-list-remove:hover{background:rgba(var(--vsg-magenta-rgb),.25);border-color:rgba(var(--vsg-magenta-rgb),.5)}:where(.archives-edit-modal) .string-list-remove.undo-delete{background:rgba(var(--vsg-analyzing-rgb),.15);border-color:rgba(var(--vsg-analyzing-rgb),.3);color:var(--vsg-analyzing)}:where(.archives-edit-modal) .string-list-add{padding:8px 16px;background:rgba(var(--vsg-purple-rgb),.1);border:1px dashed rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:rgba(var(--vsg-purple-rgb),.7);cursor:pointer;font-size:13px;transition:all .2s ease;align-self:flex-start}:where(.archives-edit-modal) .string-list-add:hover{background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.5);color:var(--vsg-purple)}.paired-field-list{display:flex;flex-direction:column;gap:8px}.paired-field{display:flex;gap:8px;align-items:center}.paired-input-name{flex:2}.paired-input-number{flex:0 0 80px;text-align:center}.paired-unit{color:rgba(var(--vsg-purple-rgb),.5);font-size:14px;flex-shrink:0}.puppeteer-field-list{display:flex;flex-direction:column;gap:8px}.puppeteer-field{display:flex;gap:8px;align-items:center}.puppeteer-field .form-input{flex:1}.mvp-edit-table,.continuity-edit-table{width:100%;border-collapse:collapse}.mvp-edit-table{table-layout:fixed}.mvp-edit-table .mvp-col-session{width:100px}.mvp-edit-table .mvp-col-character{width:170px}.mvp-edit-table .mvp-col-player{width:120px}.mvp-edit-table .mvp-col-reason{width:180px}.mvp-edit-table .mvp-col-lock{width:100px}.mvp-edit-table .mvp-col-delete{width:40px}.mvp-edit-table th,.continuity-edit-table th{text-align:left;padding:10px 12px;color:rgba(var(--vsg-purple-rgb),.8);font-size:12px;font-weight:400;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.mvp-edit-table thead th,.continuity-edit-table thead th{position:sticky;top:0;background:var(--bg-dark, var(--vsg-surface));z-index:1}.mvp-edit-table td,.continuity-edit-table td{padding:8px 12px;vertical-align:middle;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.08)}.mvp-edit-table .form-input,.continuity-edit-table .form-input{padding:6px 10px;font-size:13px;width:100%}.mvp-edit-dropdown .custom-dropdown-trigger{padding:6px 10px;font-size:13px;min-height:unset}.mvp-edit-dropdown .custom-dropdown-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.mvp-session-cell,.continuity-session-cell{white-space:nowrap;color:#ffffffb3;font-size:13px;max-width:150px;overflow:hidden;text-overflow:ellipsis}.continuity-checkbox-cell{text-align:center}.continuity-checkbox-cell input[type=checkbox]{accent-color:var(--vsg-purple);width:16px;height:16px}.continuity-follows-cell{display:flex;flex-direction:column;gap:6px;min-width:160px}.continuity-follows-tags{display:flex;flex-wrap:wrap;gap:4px}.continuity-follows-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:rgba(var(--vsg-purple-rgb),.12);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;font-size:12px;color:#ffffffd9;white-space:nowrap}.continuity-follows-tag__remove{background:none;border:none;color:rgba(var(--vsg-magenta-rgb),.6);cursor:pointer;padding:0 2px;font-size:11px;line-height:1;transition:color .2s ease}.continuity-follows-tag__remove:hover{color:var(--vsg-magenta)}.continuity-follows-dropdown .custom-dropdown-trigger{padding:6px 10px;font-size:12px;min-height:28px}:where(.archives-edit-modal) .deleted-row{opacity:.4}:where(.archives-edit-modal) .deleted-row td{text-decoration:line-through}.deleted-count-hint{color:var(--vsg-magenta);font-size:13px;font-style:normal;margin:0}.timeline-edit-table{width:100%;border-collapse:collapse}.timeline-edit-table th{text-align:left;padding:10px 12px;color:rgba(var(--vsg-purple-rgb),.8);font-size:12px;font-weight:400;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.timeline-edit-table td{padding:8px 12px;vertical-align:top;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.08)}.timeline-edit-table .form-input{padding:8px 10px;font-size:13px;width:100%}.timeline-session-cell{white-space:nowrap;color:#ffffffb3;font-size:13px;max-width:120px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle!important}.timeline-blurb-input{min-height:60px;font-size:13px!important;line-height:1.4!important;resize:vertical}:where(.archives-edit-modal) .archives-empty{color:#ffffff80;font-style:normal;text-align:center;padding:20px}.archives-edit-modal .required-asterisk{color:var(--vsg-magenta);font-weight:400;margin-left:2px}.continuity-visual-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;min-height:200px;text-align:center}.continuity-visual-description{color:#fff9;font-size:14px;line-height:1.6;max-width:400px;margin:0}.secrets-layer-editor{display:flex;flex-direction:column;gap:12px}.secrets-layer-card{display:flex;flex-direction:column;gap:8px;padding:14px;background:rgba(var(--vsg-purple-rgb),.04);border:1px solid rgba(var(--vsg-purple-rgb),.12);border-radius:10px}.secrets-layer-card-header{display:flex;gap:8px;align-items:center}.secrets-layer-label-input{flex:1;font-weight:400}.secrets-layer-desc-input{font-size:13px}.secrets-layer-characters{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding-top:4px}.secrets-layer-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;font-size:12px;color:#ffffffd9}.secrets-layer-chip-link{cursor:pointer;transition:color .2s ease}.secrets-layer-chip-link:hover{color:rgba(var(--vsg-purple-rgb),.9);text-decoration:underline}.secrets-layer-chip-remove{background:none;border:none;color:rgba(var(--vsg-magenta-rgb),.6);cursor:pointer;padding:0 2px;font-size:10px;line-height:1;transition:color .2s ease}.secrets-layer-chip-remove:hover{color:var(--vsg-magenta)}.secrets-layer-add-char{display:flex;position:relative;gap:4px;align-items:center;width:fit-content}.secrets-layer-char-input{width:180px;padding:4px 8px!important;font-size:12px!important}.secrets-char-autocomplete{position:absolute;top:calc(100% + 2px);left:0;width:220px;max-height:180px;overflow-y:auto;background:rgba(var(--vsg-surface-rgb),.98);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;z-index:1000;display:flex;flex-direction:column;padding:3px}.secrets-char-autocomplete-option{display:block;width:100%;text-align:left;padding:6px 10px;background:transparent;border:none;color:#ffffffd9;font-family:var(--font-primary);font-size:12px;cursor:pointer;border-radius:4px;transition:background .15s ease}.secrets-char-autocomplete-option:hover{background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple)}.secrets-layer-add-btn{padding:4px 10px!important;font-size:14px;min-width:28px}.secrets-layer-summary-section{display:flex;flex-direction:column;gap:2px}.secrets-layer-summary-input{flex:1;font-size:.8rem;font-style:normal;font-family:var(--font-primary);color:#fff9;background:rgba(var(--vsg-purple-rgb),.03);border:1px solid rgba(var(--vsg-purple-rgb),.1);border-radius:6px;padding:6px 10px;resize:vertical;outline:none;transition:all .2s ease}.secrets-layer-summary-input:focus{border-color:rgba(var(--vsg-purple-rgb),.4);background:rgba(var(--vsg-purple-rgb),.06);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.15)}.secrets-layer-summary-input::placeholder{color:rgba(var(--vsg-purple-rgb),.3);font-style:normal}.archives-modal:where(.archives-modal-sidebar){background:transparent;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;max-width:1200px;width:95%;height:calc(80 * var(--vh-fit));display:flex;flex-direction:column;box-shadow:0 0 40px rgba(var(--vsg-purple-rgb),.15),0 8px 32px #00000080;position:relative;overflow:hidden}.archives-modal:where(.archives-modal-sidebar):before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--vsg-purple-rgb),.5),transparent)}.archives-modal.archives-modal-sidebar{max-width:1200px}.archives-modal-body{display:flex;flex:1;overflow:hidden}@media (max-width: 600px){.archives-modal-body{flex-direction:column}}.archives-modal:where(.archives-modal-sidebar) .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);background:linear-gradient(180deg,rgba(var(--vsg-purple-rgb),.05) 0%,transparent 100%)}.archives-modal:where(.archives-modal-sidebar) .modal-header .header-left{display:flex;align-items:center}.archives-modal:where(.archives-modal-sidebar) .modal-title{font-size:20px;font-weight:400;color:var(--vsg-purple);margin:0;font-family:var(--font-primary);letter-spacing:1px;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.3)}.archives-modal:where(.archives-modal-sidebar) .modal-header-actions{display:flex;align-items:center;gap:12px}.archives-modal:where(.archives-modal-sidebar) .modal-header-actions .archives-action-buttons{padding:0;margin:0;border-bottom:none}:where(.archives-modal-sidebar) .homer-panel{flex:1;display:flex;flex-direction:column;overflow:hidden}:where(.archives-modal-sidebar) .archives-modal-content{flex:1;overflow-y:auto;padding:24px;background:linear-gradient(180deg,rgba(var(--vsg-purple-rgb),.02) 0%,transparent 50%)}.archives-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.archives-empty-state p{color:rgba(var(--vsg-purple-rgb),.8);margin-top:16px;font-family:var(--font-primary)}.archives-hint,.hint{font-size:12px;color:#fff6!important;margin-top:8px!important}.empty-title{color:rgba(var(--vsg-purple-rgb),.8);font-family:var(--font-primary);font-size:16px}.archives-section{background:rgba(var(--vsg-purple-rgb),.05);border-radius:10px;padding:18px 22px;border:1px solid rgba(var(--vsg-purple-rgb),.15);transition:border-color .3s ease,box-shadow .3s ease}.archives-section:hover{border-color:rgba(var(--vsg-purple-rgb),.25);box-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.05)}.campaign-full-summary,.season-full-summary,.conflict-full-text,.plot-progression-text,.timespan-text,.summary-text{color:#ffffffe6;font-size:14px;line-height:1.8;margin:0;white-space:pre-wrap}.storyline-text{color:#ffffffe6;font-size:15px;line-height:1.8;margin:0;padding:18px;background:rgba(var(--vsg-purple-rgb),.08);border-radius:10px;border-left:3px solid var(--vsg-purple);white-space:pre-wrap;box-shadow:inset 0 0 30px rgba(var(--vsg-purple-rgb),.03)}.clickable-view{cursor:pointer}.clickable-view .archives-section:hover{background:rgba(var(--vsg-purple-rgb),.06);border-radius:8px}:where(.archives-modal-sidebar) .section-title-actions{margin-left:auto;display:inline-flex;align-items:center;gap:10px}.conflict-text{color:var(--vsg-gold);font-size:14px;line-height:1.6;margin:0;font-style:normal}.archives-tags,.tags-list{display:flex;flex-wrap:wrap;gap:8px}.theme-tag{padding:5px 14px;background:rgba(var(--vsg-purple-rgb),.15);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:20px;font-size:11px;color:rgba(var(--vsg-purple-rgb),.9);font-family:var(--font-primary);letter-spacing:.5px;transition:all .2s ease}.theme-tag:hover{background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.4);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.2)}.objectives-list,.mysteries-list,.hooks-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.objective-item,.mystery-item,.event-item{display:flex;align-items:flex-start;gap:12px;color:#ffffffd9;font-size:14px;line-height:1.6;padding:10px 14px;background:#0003;border-radius:8px;border-left:3px solid var(--vsg-purple);transition:background .2s ease}.objective-item:hover,.mystery-item:hover,.event-item:hover{background:rgba(var(--vsg-purple-rgb),.05)}.objective-marker{color:var(--vsg-purple);font-size:14px}.mystery-marker{color:var(--vsg-gold);font-weight:400;font-size:16px}.event-marker{color:rgba(var(--vsg-success-rgb),.77);font-size:14px}.hook-item{display:flex;align-items:flex-start;gap:12px;color:#ffffffd9;font-size:14px;line-height:1.6;padding:10px 14px;background:#0003;border-radius:8px;border-left:3px solid var(--vsg-purple);transition:background .2s ease}.hook-item:hover{background:rgba(var(--vsg-purple-rgb),.05)}.hook-marker{color:var(--vsg-purple);font-size:14px}.archives-campaigns-list{display:flex;flex-direction:column;gap:16px}.archives-campaign-card{background:rgba(var(--vsg-purple-rgb),.05);border-radius:12px;padding:20px;border:1px solid rgba(var(--vsg-purple-rgb),.15);transition:all .3s ease}.archives-campaign-card.has-analysis{cursor:pointer}.archives-campaign-card.has-analysis:hover{border-color:rgba(var(--vsg-purple-rgb),.4);background:rgba(var(--vsg-purple-rgb),.08);transform:translateY(-2px);box-shadow:0 8px 25px rgba(var(--vsg-purple-rgb),.15)}.archives-campaign-card.no-analysis{opacity:.5}.campaign-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.campaign-name{font-size:18px;font-weight:400;color:var(--vsg-purple);margin:0;font-family:var(--font-primary);letter-spacing:.5px}.analysis-badge{padding:4px 12px;background:rgba(var(--vsg-purple-rgb),.15);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;font-size:10px;color:var(--vsg-purple);font-family:var(--font-primary);text-transform:uppercase;letter-spacing:.5px}.no-analysis-badge{padding:4px 12px;background:#ffffff0d;border-radius:12px;font-size:10px;color:#fff6}.campaign-summary{color:#fffc;font-size:14px;line-height:1.6;margin:0 0 12px}.campaign-conflict{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.conflict-label{font-size:10px;text-transform:uppercase;color:#fff6;letter-spacing:1px;font-family:var(--font-primary)}.campaign-themes{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.campaign-description{color:#ffffff80;font-size:13px;line-height:1.5;margin:0;font-style:normal}.campaign-footer{display:flex;justify-content:flex-end}.click-hint{font-size:10px;color:#ffffff4d;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:.5px}.archives-campaign-detail,.archives-season-detail{display:flex;flex-direction:column;gap:20px}.act-list{display:flex;flex-direction:column;gap:14px}.act-item{padding:14px 18px;background:#0000004d;border-radius:10px;border-left:3px solid var(--vsg-purple);transition:all .2s ease}.act-item:hover{background:rgba(var(--vsg-purple-rgb),.05)}.act-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.act-number{font-size:10px;font-weight:400;color:var(--vsg-purple);text-transform:uppercase;font-family:var(--font-primary);letter-spacing:1px}.act-name{font-size:14px;font-weight:400;color:#ffffffe6;font-family:var(--font-primary)}.act-summary{color:#ffffffb3;font-size:13px;line-height:1.5;margin:0}.seasons-list{display:flex;flex-direction:column;gap:12px}.season-card{padding:16px 18px;background:#00000040;border-radius:10px;border:1px solid rgba(var(--vsg-purple-rgb),.1);transition:all .3s ease}.season-card.has-analysis{cursor:pointer}.season-card.has-analysis:hover{border-color:rgba(var(--vsg-purple-rgb),.3);background:rgba(var(--vsg-purple-rgb),.05);transform:translate(4px)}.season-card.no-analysis{opacity:.4}.season-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.season-name{font-size:15px;font-weight:400;color:var(--vsg-purple);margin:0;font-family:var(--font-primary)}.session-count{font-size:10px;color:#fff6;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:.5px}.season-summary{color:#ffffffb3;font-size:13px;line-height:1.5;margin:0}.character-arcs-list{display:flex;flex-direction:column;gap:12px}.character-arc-item{padding:14px 18px;background:#00000040;border-radius:10px;border-left:3px solid var(--vsg-success);transition:background .2s ease}.character-arc-item:hover{background:rgba(var(--vsg-success-rgb),.05)}.arc-character-name{font-size:13px;font-weight:400;color:var(--vsg-success);display:block;margin-bottom:6px;font-family:var(--font-primary)}.arc-development{color:#ffffffb3;font-size:13px;line-height:1.5;margin:0}.threads-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.threads-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.thread-item{padding:10px 14px;background:#00000040;border-radius:8px;font-size:13px;color:#fffc;transition:all .2s ease}.thread-item:hover{background:rgba(var(--vsg-purple-rgb),.05)}.thread-item.introduced{border-left:3px solid rgba(var(--vsg-success-rgb),.77)}.thread-item.resolved{border-left:3px solid rgba(255,255,255,.2);opacity:.6}.thread-item.ongoing{border-left:3px solid var(--vsg-gold)}.archives-metadata{background:#0003;display:flex;flex-wrap:wrap;gap:24px;padding:14px 18px;border-radius:8px}.plot-progress-list{display:flex;flex-direction:column;gap:14px}.progress-item{display:flex;flex-direction:column;gap:8px}.progress-bar-container{display:flex;align-items:center;gap:12px;height:24px;background:#0006;border-radius:12px;padding:0 6px;border:1px solid rgba(var(--vsg-purple-rgb),.1)}.progress-value{font-size:12px;color:var(--vsg-purple);font-weight:400;min-width:45px;text-align:right;font-family:var(--font-primary)}.archives-characters-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 600px){.archives-characters-grid{grid-template-columns:1fr}}:where(.archives-modal-sidebar) .archives-modal-content::-webkit-scrollbar{width:8px}:where(.archives-modal-sidebar) .archives-modal-content::-webkit-scrollbar-track{background:#0000004d;border-radius:4px}:where(.archives-modal-sidebar) .archives-modal-content::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.3);border-radius:4px;transition:background .2s ease}:where(.archives-modal-sidebar) .archives-modal-content::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.5)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.archives-section,.archives-campaign-card,.season-card,.act-item,.character-arc-item{animation:fadeIn .3s ease}.cluster-member-card{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border-radius:12px;border:1px solid rgba(var(--vsg-purple-rgb),.2);background:#0000004d;transition:all .3s ease;width:100%}.cluster-member-card.is-main{border-color:rgba(var(--vsg-gold-rgb),.5);box-shadow:0 0 16px rgba(var(--vsg-gold-rgb),.12)}.cluster-member-avatar-wrap{position:relative;flex-shrink:0}.cluster-member-avatar{width:44px;height:44px;border-radius:8px;object-fit:cover;border:1px solid rgba(var(--vsg-purple-rgb),.3)}.cluster-member-avatar-pick{position:absolute;right:-4px;bottom:-4px;width:16px;height:16px;border-radius:50%;border:2px solid rgba(var(--vsg-purple-rgb),.5);background:#000000e6;cursor:pointer;padding:0;transition:all .3s ease}.cluster-member-avatar-pick.picked{background:linear-gradient(135deg,var(--vsg-purple),rgba(var(--vsg-purple-rgb),.64));border-color:var(--vsg-purple)}.cluster-member-body{flex:1 1 auto;min-width:0}.cluster-member-headline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cluster-member-name{font-family:var(--font-primary);font-size:14px;color:#fff}.cluster-member-type{font-family:var(--font-primary);font-size:11px;color:#fff9;border:1px solid rgba(var(--vsg-purple-rgb),.25);border-radius:6px;padding:1px 6px}.cluster-member-synopsis{margin:4px 0 0;font-family:var(--font-primary);font-size:12px;line-height:1.45;color:#ffffffbf}.cluster-member-evidence{margin:6px 0 0;padding-left:16px;font-family:var(--font-primary);font-size:11px;color:#fff9}.cluster-member-evidence li{margin:2px 0}.manual-cluster-builder{margin-top:20px;padding:16px;border:1px solid rgba(var(--vsg-purple-rgb),.25);border-radius:8px;background:#ffffff05}.manual-cluster-title{margin:0 0 4px;font-size:15px;font-weight:400;color:#ffffffeb}.manual-cluster-hint{margin:0 0 12px;font-size:13px;line-height:1.45;color:#ffffffab}.manual-cluster-search{width:100%;box-sizing:border-box;margin-bottom:12px;padding:8px 10px;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:#00000040;color:#ffffffeb;font-size:13px}.manual-cluster-search:focus{outline:none;border-color:var(--vsg-purple)}.manual-cluster-list{max-height:240px;overflow-y:auto;margin:0;padding:0;list-style:none}.manual-cluster-row{display:flex;align-items:center;gap:10px;padding:6px 4px;border-bottom:1px solid rgba(255,255,255,.05)}.manual-cluster-row:last-child{border-bottom:none}.manual-cluster-username{font-size:12px;color:#ffffff8c}.manual-cluster-actions{display:flex;justify-content:flex-end;margin-top:12px}.manual-cluster-grouped{margin-left:auto;padding:1px 6px;border:1px solid rgba(var(--vsg-purple-rgb),.35);border-radius:10px;font-size:11px;color:var(--vsg-purple);white-space:nowrap}.member-merge-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;background:#000000b3;padding:24px}.member-merge-modal{position:relative;background:transparent;border-radius:12px;width:90%;max-width:640px;max-height:calc(90 * var(--vh-fit));overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3);border:1px solid rgba(var(--vsg-purple-rgb),.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.member-merge-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05)}.member-merge-modal .modal-title{font-family:var(--font-primary);font-size:1.25rem;font-weight:300;color:var(--vsg-purple);margin:0;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5)}.member-merge-body{padding:16px 24px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.member-merge-scope-notice{margin:0;padding:10px 12px;border-radius:8px;border:1px solid rgba(var(--vsg-purple-rgb),.3);background:rgba(var(--vsg-purple-rgb),.06);font-family:var(--font-primary);font-size:12px;line-height:1.5;color:#ffffffd9}.member-merge-error{margin:0;font-family:var(--font-primary);font-size:12px;color:var(--vsg-magenta)}.member-merge-cluster{border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px}.member-merge-cluster-head{display:flex;align-items:center;justify-content:space-between}.member-merge-hint{margin:0;font-family:var(--font-primary);font-size:11px;color:#fff9}.member-merge-actions{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.2)}.posting-rules-modal{position:relative;background:transparent;border-radius:12px;width:90%;max-width:640px;max-height:calc(90 * var(--vh-fit));overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3);border:1px solid rgba(var(--vsg-purple-rgb),.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:postingRulesPopIn .2s ease}@keyframes postingRulesPopIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.posting-rules-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05)}.posting-rules-modal .modal-title{font-family:var(--font-primary);font-size:1.15rem;font-weight:400;color:var(--vsg-purple);margin:0;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5)}.posting-rules-header-right{display:flex;align-items:center;gap:12px}.posting-rules-modal-content{padding:24px;overflow-y:auto;flex:1}.posting-rules-modal .form-group{margin-bottom:20px}.posting-rules-modal .form-group:last-child{margin-bottom:0}.posting-rules-modal .form-label{display:block;font-family:var(--font-primary);font-size:.9rem;font-weight:400;color:rgba(var(--vsg-purple-rgb),.9);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.posting-rules-modal .frequency-row{display:flex;align-items:center;gap:12px}.posting-rules-modal .frequency-label{color:#ffffffb3;font-size:.9rem;white-space:nowrap}.posting-rules-modal .posting-style-row{display:flex;gap:16px;margin-bottom:12px}.posting-rules-modal .posting-style-field{flex:1;display:flex;flex-direction:column;gap:4px}.posting-rules-modal .field-sublabel{font-size:.8rem;color:rgba(var(--vsg-purple-rgb),.6);text-transform:uppercase;letter-spacing:.3px}.posting-rules-modal .example-sentence{background:rgba(var(--vsg-purple-rgb),.08);border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:8px;padding:12px 16px;line-height:1.5}.posting-rules-modal .example-label{font-size:.8rem;color:rgba(var(--vsg-purple-rgb),.6);text-transform:uppercase;letter-spacing:.3px;margin-right:8px}.posting-rules-modal .example-text{font-style:normal;color:#fffc;font-size:.9rem}.posting-rules-modal .form-hint{display:block;color:#ffffff80;font-size:.8rem;margin-top:6px}.posting-rules-modal .ya-locked-hint{display:block;color:var(--vsg-magenta);font-size:.8rem;margin-top:6px;font-style:normal}.posting-rules-modal .modal-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05)}.posting-rules-modal .modal-footer-right{display:flex;gap:10px}@media (max-width: 600px){.posting-rules-modal{width:95%;max-height:calc(95 * var(--vh-fit))}.posting-rules-modal .modal-header,.posting-rules-modal-content,.posting-rules-modal .modal-footer{padding:16px}.posting-rules-modal .posting-style-row{flex-direction:column;gap:12px}}.ownership-warning-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ownership-warning-modal{position:relative;background:transparent;border-radius:12px;width:90%;max-width:420px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3);border:1px solid rgba(var(--vsg-purple-rgb),.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeInUp .2s ease-out}.ownership-warning-header{display:flex;justify-content:center;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05)}.ownership-warning-title{font-family:var(--font-primary);font-size:1.25rem;font-weight:400;color:var(--vsg-purple);margin:0;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5);text-align:center}.ownership-warning-content{display:flex;flex-direction:column;align-items:center;gap:20px;padding:32px 24px;text-align:center}.ownership-warning-message{font-family:var(--font-primary);font-size:1rem;color:#ffffffe6;line-height:1.6;margin:0}.ownership-warning-footer{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05)}.ownership-warning-footer .button{width:100%;max-width:200px}.transfer-ownership-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.transfer-ownership-modal{position:relative;background:transparent;border-radius:12px;width:90%;max-width:480px;max-height:calc(80 * var(--vh-fit));overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3);border:1px solid rgba(var(--vsg-purple-rgb),.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeInUp .2s ease-out}.transfer-ownership-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05)}.transfer-ownership-title{font-family:var(--font-primary);font-size:1.25rem;font-weight:400;color:var(--vsg-purple);margin:0;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5)}.transfer-ownership-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:6px;color:rgba(var(--vsg-purple-rgb),.6);cursor:pointer;transition:all .2s ease}.transfer-ownership-close:hover{background:rgba(var(--vsg-purple-rgb),.1);color:var(--vsg-purple)}.transfer-ownership-content{flex:1;overflow-y:auto;padding:0}.transfer-ownership-content::-webkit-scrollbar{width:8px}.transfer-ownership-content::-webkit-scrollbar-track{background:rgba(var(--vsg-purple-rgb),.05);border-radius:4px}.transfer-ownership-content::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.3);border-radius:4px}.transfer-ownership-content::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.5)}.transfer-ownership-loading{display:flex;align-items:center;justify-content:center;padding:48px 24px}.transfer-ownership-empty{display:flex;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.transfer-ownership-empty p{font-family:var(--font-primary);font-size:1rem;color:rgba(var(--vsg-purple-rgb),.6);margin:0}.transfer-ownership-list{list-style:none;margin:0;padding:0}.transfer-ownership-item{display:flex;align-items:center;gap:14px;padding:14px 20px;background:rgba(var(--vsg-purple-rgb),.03);border-bottom:1px solid rgba(var(--vsg-purple-rgb),.08);cursor:pointer;transition:all .2s ease}.transfer-ownership-item:hover{background:rgba(var(--vsg-purple-rgb),.08);transform:translate(4px)}.transfer-ownership-item:last-child{border-bottom:none}.transfer-ownership-avatar{flex-shrink:0}.transfer-ownership-user-info{flex:1;min-width:0}.transfer-ownership-role{flex-shrink:0;padding:4px 10px;border-radius:20px;font-family:var(--font-primary);font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:.5px}.transfer-ownership-role-player{background:rgba(var(--vsg-gold-rgb),.2);color:var(--vsg-gold);border:1px solid rgba(var(--vsg-gold-rgb),.3)}.transfer-ownership-role-spectator{background:rgba(var(--vsg-purple-rgb),.15);color:rgba(var(--vsg-purple-rgb),.8);border:1px solid rgba(var(--vsg-purple-rgb),.3)}.transfer-ownership-footer{display:flex;justify-content:center;align-items:center;gap:12px;padding:16px 24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05)}.transfer-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1001;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.transfer-confirm-modal{position:relative;background:transparent;border-radius:12px;width:90%;max-width:400px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3);border:1px solid rgba(var(--vsg-purple-rgb),.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeInUp .2s ease-out}.transfer-confirm-header{display:flex;justify-content:center;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05)}.transfer-confirm-title{font-family:var(--font-primary);font-size:1.25rem;font-weight:400;color:var(--vsg-purple);margin:0;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5);text-align:center}.transfer-confirm-content{display:flex;flex-direction:column;align-items:center;gap:20px;padding:32px 24px;text-align:center}.transfer-confirm-loading{padding:24px 0}.transfer-confirm-message{font-family:var(--font-primary);font-size:1rem;color:#ffffffe6;line-height:1.6;margin:0}.transfer-confirm-footer{display:flex;justify-content:center;align-items:center;gap:16px;padding:16px 24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05)}.fi-editor{margin-top:12px;padding:16px;background:rgba(var(--vsg-purple-rgb),.04);border:1px solid rgba(var(--vsg-purple-rgb),.12);border-radius:10px;display:flex;flex-direction:column;gap:12px}.fi-editor-header{display:flex;align-items:baseline;gap:10px}.fi-editor-subtitle{font-family:var(--font-primary);font-size:.75rem;color:#fff6;font-style:normal}.fi-editor-stat-row{display:flex;align-items:center;gap:8px}.fi-editor-label{font-family:var(--font-primary);font-size:.85rem;color:#ffffffb3;white-space:nowrap}.fi-editor-info-icon{display:inline-flex;align-items:center;cursor:help}.fi-unlink-btn{color:rgba(var(--vsg-magenta-rgb),.7)!important;border-color:rgba(var(--vsg-magenta-rgb),.3)!important;background:rgba(var(--vsg-magenta-rgb),.08)!important}.fi-unlink-btn:hover{color:var(--vsg-magenta)!important;border-color:rgba(var(--vsg-magenta-rgb),.5)!important;background:rgba(var(--vsg-magenta-rgb),.15)!important}.fi-editor-range-row{display:flex;align-items:center;gap:8px}.fi-editor-range-steppers{display:flex;align-items:center;gap:12px;margin-left:auto}.fi-editor-range-field{display:flex;align-items:center;gap:6px}.fi-editor-range-label{font-family:var(--font-primary);font-size:.75rem;color:#fff6;text-transform:uppercase;letter-spacing:.3px}.fi-editor-toggle-row{display:flex;flex-direction:column;gap:6px;padding:10px 12px;background:#00000026;border-radius:8px;border:1px solid rgba(var(--vsg-purple-rgb),.08)}.fi-editor-toggle-header{display:flex;align-items:center;gap:8px}.fi-editor-toggle-desc{font-family:var(--font-primary);font-size:.78rem;color:#ffffff73;line-height:1.3;padding-left:2px}.npc-romance-panel{margin-top:8px;padding:16px;background:#0003;border:1px solid rgba(var(--vsg-magenta-rgb),.15);border-radius:10px;display:flex;flex-direction:column;gap:16px}.npc-romance-disclaimer{font-family:var(--font-primary);font-size:.78rem;color:#ffffff73;line-height:1.5;padding:10px 12px;background:rgba(var(--vsg-purple-rgb),.03);border-radius:6px;border-left:2px solid rgba(var(--vsg-purple-rgb),.2)}.npc-romance-section{display:flex;flex-direction:column;gap:8px}.npc-romance-section-title{font-family:var(--font-primary);font-size:.85rem;font-weight:400;color:rgba(var(--vsg-purple-rgb),.8);margin:0;text-transform:uppercase;letter-spacing:.4px}.npc-romance-grid{display:flex;flex-direction:column;gap:6px}.npc-romance-pref-row{display:flex;align-items:center;gap:8px;padding:4px 10px;background:#0000001f;border-radius:6px}.npc-romance-pref-label{flex:1;font-family:var(--font-primary);font-size:.82rem;color:#ffffffb3}.npc-romance-percent{font-family:var(--font-primary);font-size:.8rem;color:#fff6;min-width:16px}.npc-romance-warning{font-family:var(--font-primary);font-size:.78rem;color:var(--vsg-magenta);padding:4px 10px;background:rgba(var(--vsg-magenta-rgb),.08);border-radius:4px;border:1px solid rgba(var(--vsg-magenta-rgb),.2)}.npc-romance-monogamy-divider{height:1px;margin:10px 10px 4px;background:linear-gradient(90deg,transparent,rgba(var(--vsg-purple-rgb),.25),transparent)}.npc-romance-monogamy-row{display:flex;align-items:center;gap:10px;padding:6px 10px;background:#0000001f;border-radius:6px}.npc-romance-monogamy-label{flex:1;font-family:var(--font-primary);font-size:.82rem;color:#ffffffb3}.sheet-field-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10500;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;animation:fieldPickerFadeIn .15s ease}@keyframes fieldPickerFadeIn{0%{opacity:0}to{opacity:1}}.sheet-field-picker{background:#000000d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:12px;width:90%;max-width:900px;max-height:calc(80 * var(--vh-fit));overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3)}.sheet-field-picker-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05)}.sheet-field-picker-header h2{font-family:var(--font-primary);font-size:1.25rem;font-weight:400;color:var(--vsg-purple);margin:0;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5)}.sheet-field-picker-content{padding:20px;overflow-y:auto;flex:1}.sheet-field-picker-loading,.sheet-field-picker-empty{display:flex;align-items:center;justify-content:center;padding:48px 0;color:rgba(var(--vsg-purple-rgb),.5);font-family:var(--font-primary);font-size:.9rem}.sheet-field-picker-section{margin-bottom:20px}.sheet-field-picker-section .section-name{font-family:var(--font-primary);font-size:.9rem;font-weight:400;color:rgba(var(--vsg-purple-rgb),.9);margin:0 0 10px;text-transform:uppercase;letter-spacing:1px}.sheet-field-picker-section .section-columns{display:flex;gap:12px;flex-wrap:wrap}.sheet-field-picker-section .section-column{flex:1;min-width:200px;display:flex;flex-direction:column;gap:6px}.field-cell{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:6px;border:1px solid rgba(var(--vsg-purple-rgb),.1);background:#0000004d;transition:all .2s ease}.field-cell .field-name{font-family:var(--font-primary);font-size:.85rem;color:#fffc}.field-cell .field-type{font-family:var(--font-primary);font-size:.7rem;color:#ffffff4d;text-transform:uppercase}.field-cell.field-linkable{cursor:pointer}.field-cell.field-linkable:hover{border-color:rgba(var(--vsg-purple-rgb),.6);box-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.3);background:rgba(var(--vsg-purple-rgb),.08)}.field-cell.field-linkable:hover .field-name{color:var(--vsg-purple)}.field-cell.field-disabled{opacity:.4;cursor:not-allowed}.grid-sub-picker-back{background:none;border:none;color:var(--vsg-purple);font-size:1rem;cursor:pointer;padding:0 8px 0 0;opacity:.7;transition:opacity .2s ease}.grid-sub-picker-back:hover{opacity:1}.grid-column-list{display:flex;flex-direction:column;gap:6px}.mechanics-integrity-tab{display:flex;flex-direction:column;gap:16px}.mechanics-integrity-description{font-family:var(--font-primary);font-size:.85rem;color:#fff9;line-height:1.4;margin:0;padding:10px 14px;background:rgba(var(--vsg-purple-rgb),.04);border-left:2px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px}.mechanics-integrity-actions{display:flex;gap:12px;justify-content:flex-start}.mechanics-integrity-error{color:var(--vsg-magenta);font-size:.82rem;padding:10px 14px;background:rgba(var(--vsg-magenta-rgb),.08);border:1px solid rgba(var(--vsg-magenta-rgb),.25);border-radius:8px;font-family:var(--font-primary)}.mechanics-integrity-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:10px;border:1px solid rgba(var(--vsg-purple-rgb),.25);background:rgba(var(--vsg-purple-rgb),.08);font-family:var(--font-primary)}.mechanics-integrity-banner.applied{border-color:rgba(var(--vsg-purple-rgb),.4);background:rgba(var(--vsg-purple-rgb),.12)}.mechanics-integrity-banner-title{font-size:.95rem;font-weight:400;color:var(--vsg-purple);text-shadow:0 0 12px rgba(var(--vsg-purple-rgb),.35)}.mechanics-integrity-banner.applied .mechanics-integrity-banner-title{color:var(--vsg-purple);text-shadow:0 0 14px rgba(var(--vsg-purple-rgb),.45)}.mechanics-integrity-banner-stats{font-size:.8rem;color:#ffffffb3;font-variant-numeric:tabular-nums}.mechanics-integrity-empty{text-align:center;padding:24px;color:rgba(var(--vsg-purple-rgb),.85);font-family:var(--font-primary);font-size:.85rem;background:rgba(var(--vsg-purple-rgb),.06);border:1px dashed rgba(var(--vsg-purple-rgb),.3);border-radius:10px;text-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.25)}.mechanics-integrity-report{display:flex;flex-direction:column;gap:10px}.mechanics-integrity-entry{padding:12px 16px;background:rgba(var(--vsg-purple-rgb),.04);border:1px solid rgba(var(--vsg-purple-rgb),.12);border-radius:10px;transition:border-color .2s ease}.mechanics-integrity-entry:hover{border-color:rgba(var(--vsg-purple-rgb),.25)}.mechanics-integrity-char{font-family:var(--font-primary);font-size:.95rem;font-weight:400;color:var(--vsg-purple);margin:0 0 10px;text-shadow:0 0 10px rgba(var(--vsg-purple-rgb),.3)}.mechanics-integrity-section{margin-top:8px;padding:8px 12px;background:#00000026;border-radius:6px;border-left:2px solid rgba(var(--vsg-purple-rgb),.3)}.mechanics-integrity-section-label{display:block;font-family:var(--font-primary);font-size:.72rem;color:rgba(var(--vsg-purple-rgb),.85);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.mechanics-integrity-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.mechanics-integrity-list li{font-family:var(--font-primary);font-size:.82rem;color:#ffffffd9;line-height:1.4}.mechanics-integrity-list code{font-family:var(--font-primary);font-size:.78rem;color:rgba(var(--vsg-purple-rgb),.9);background:rgba(var(--vsg-purple-rgb),.08);padding:1px 6px;border-radius:4px}.mechanics-integrity-muted{color:#ffffff73}.mechanics-modal{position:relative;background:transparent;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;width:90%;max-width:700px;max-height:calc(85 * var(--vh-fit));overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3);border:1px solid rgba(var(--vsg-purple-rgb),.4);animation:mechanicsPopIn .2s ease}@keyframes mechanicsPopIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.mechanics-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05)}.mechanics-modal .modal-title{font-family:var(--font-primary);font-size:1.15rem;font-weight:400;color:var(--vsg-purple);margin:0;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5)}.mechanics-modal .modal-header-tabs{flex:1;display:flex;justify-content:center;margin:0 16px}.mechanics-modal-body{padding:24px;overflow-y:auto;flex:1}.mechanics-modal .form-group{margin-bottom:20px}.mechanics-modal .form-group:last-child{margin-bottom:0}.mechanics-modal .form-label{display:block;font-family:var(--font-primary);font-size:.9rem;font-weight:400;color:rgba(var(--vsg-purple-rgb),.9);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.mechanics-modal .form-sublabel{font-family:var(--font-primary);font-size:.8rem;color:#ffffff80;margin-top:4px;line-height:1.3}.mechanics-exception-row{display:flex;align-items:center;gap:12px;margin-bottom:8px;padding:8px 12px;background:rgba(var(--vsg-purple-rgb),.05);border-radius:8px;border:1px solid rgba(var(--vsg-purple-rgb),.1)}.mechanics-exception-row .exception-name{flex:1;font-family:var(--font-primary);font-size:.85rem;color:#fffc}.mechanics-pool-toggle{display:flex;flex-direction:column;gap:8px}.mechanics-pool-explanation{font-family:var(--font-primary);font-size:.8rem;color:#ffffff80;line-height:1.4;padding:8px 12px;background:rgba(var(--vsg-purple-rgb),.03);border-radius:6px;border-left:2px solid rgba(var(--vsg-purple-rgb),.3)}.mechanics-modal .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.03)}.mechanics-modal .error-message{color:var(--vsg-error);font-size:.8rem;padding:8px 12px;background:rgba(var(--vsg-error-rgb),.1);border-radius:6px;margin-bottom:12px}.mechanics-modal .loading-state{display:flex;align-items:center;justify-content:center;padding:48px 0;color:rgba(var(--vsg-purple-rgb),.6);font-family:var(--font-primary)}.mechanics-inline-row{display:flex;align-items:center;gap:12px;padding:12px 16px;margin-top:12px;background:rgba(var(--vsg-purple-rgb),.04);border:1px solid rgba(var(--vsg-purple-rgb),.12);border-radius:10px}:where(.mechanics-modal,.mechanics-defaults-view) .mechanics-inline-label{font-family:var(--font-primary);font-size:.95rem;font-weight:400;color:rgba(var(--vsg-purple-rgb),.85);margin:0;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}:where(.mechanics-modal,.mechanics-defaults-view) .mechanics-inline-linked{display:flex;align-items:center;gap:8px}:where(.mechanics-modal,.mechanics-defaults-view) .mechanics-inline-field-name{font-family:var(--font-primary);font-size:.85rem;color:#fffc}:where(.mechanics-modal,.mechanics-defaults-view) .field-link-btn{cursor:pointer;color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;padding:2px 8px;font-family:var(--font-primary);font-size:.75rem;transition:all .2s ease;white-space:nowrap}:where(.mechanics-modal,.mechanics-defaults-view) .field-link-btn:hover{background:rgba(var(--vsg-purple-rgb),.2);border-color:var(--vsg-purple)}.mechanics-inline-link-btn{cursor:pointer;color:rgba(var(--vsg-purple-rgb),.7);background:rgba(var(--vsg-purple-rgb),.08);border:1px dashed rgba(var(--vsg-purple-rgb),.25);border-radius:6px;padding:4px 12px;font-family:var(--font-primary);font-size:.8rem;white-space:nowrap;transition:all .2s ease}.mechanics-inline-link-btn:hover{background:rgba(var(--vsg-purple-rgb),.15);border-color:rgba(var(--vsg-purple-rgb),.4);color:var(--vsg-purple)}.mechanics-formula-section{margin-top:12px;padding:12px 16px;background:rgba(var(--vsg-purple-rgb),.04);border:1px solid rgba(var(--vsg-purple-rgb),.12);border-radius:10px}.mechanics-formula-row{display:flex;align-items:center;gap:8px;margin-top:8px}:where(.mechanics-modal,.mechanics-defaults-view) .mechanics-formula-input{flex:1;font-family:var(--font-primary);font-variant-numeric:tabular-nums;font-size:.9rem;color:#ffffffe6;background:#00000040;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:6px;padding:8px 12px;outline:none;transition:border-color .2s ease}:where(.mechanics-modal,.mechanics-defaults-view) .mechanics-formula-input:focus{border-color:var(--vsg-purple);box-shadow:0 0 8px rgba(var(--vsg-purple-rgb),.15)}:where(.mechanics-modal,.mechanics-defaults-view) .mechanics-formula-input::placeholder{color:#ffffff40;font-style:normal}.mechanics-formula-fields{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.mechanics-formula-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:rgba(var(--vsg-purple-rgb),.12);border:1px solid rgba(var(--vsg-purple-rgb),.25);border-radius:12px;font-family:var(--font-primary);font-size:.75rem;color:rgba(var(--vsg-purple-rgb),.9)}.mechanics-formula-pill-remove{cursor:pointer;color:rgba(var(--vsg-magenta-rgb),.6);background:none;border:none;padding:0 2px;font-size:.8rem;line-height:1;transition:color .2s ease}.mechanics-formula-pill-remove:hover{color:var(--vsg-magenta)}.mechanics-section-header{display:flex;align-items:center;justify-content:space-between;padding:8px 0;margin-top:16px;margin-bottom:12px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15)}.mechanics-section-header h3{font-family:var(--font-primary);font-size:.95rem;font-weight:400;color:rgba(var(--vsg-purple-rgb),.85);margin:0;text-transform:uppercase;letter-spacing:.5px}.mechanics-section-header .required-badge{font-family:var(--font-primary);font-size:.7rem;color:rgba(var(--vsg-purple-rgb),.5);text-transform:uppercase;letter-spacing:.5px}.linked-stat-card{background:rgba(var(--vsg-purple-rgb),.04);border:1px solid rgba(var(--vsg-purple-rgb),.12);border-radius:10px;padding:16px;margin-bottom:12px;transition:border-color .2s ease}.linked-stat-card:hover{border-color:rgba(var(--vsg-purple-rgb),.25)}.linked-stat-card .stat-name-input{font-family:var(--font-primary);font-size:.95rem;font-weight:400;color:var(--vsg-purple);background:transparent;border:none;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);padding:4px 0;width:100%;outline:none;transition:border-color .2s ease}.linked-stat-card .stat-name-input:focus{border-bottom-color:var(--vsg-purple)}.linked-stat-card .stat-name-input:disabled{color:rgba(var(--vsg-purple-rgb),.6);cursor:default}.linked-stat-fields{display:grid;grid-template-columns:1fr;gap:8px;margin-top:12px}.linked-stat-fields .field-slot{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#00000026;border-radius:6px;border:1px dashed rgba(var(--vsg-purple-rgb),.15)}.linked-stat-fields .field-slot-label{font-family:var(--font-primary);font-size:.75rem;color:#fff6;text-transform:uppercase;letter-spacing:.5px;min-width:70px}.linked-stat-fields .field-slot-value{flex:1;font-family:var(--font-primary);font-size:.85rem;color:#fffc}.linked-stat-fields .field-slot-value.not-linked{color:#ffffff4d;font-style:normal}.linked-stat-fields .field-slot-value.field-deleted{color:rgba(var(--vsg-caution-rgb),.8)}.linked-stat-options{display:flex;align-items:center;gap:16px;margin-top:12px;flex-wrap:wrap}.linked-stat-options .option-group{display:flex;align-items:center;gap:6px}.mechanics-checkbox-label{display:flex;align-items:center;gap:6px;cursor:pointer}.linked-stat-options .option-label{font-family:var(--font-primary);font-size:.75rem;color:#ffffff80;text-transform:uppercase;letter-spacing:.3px}.linked-stat-card .stat-delete-wrapper{position:absolute;top:8px;right:8px}.linked-stat-card{position:relative}.initiative-formula-preview{font-family:var(--font-primary);font-size:.85rem;color:rgba(var(--vsg-purple-rgb),.6);padding:6px 10px;background:rgba(var(--vsg-purple-rgb),.05);border-radius:6px;margin-top:8px;font-style:normal}.mechanics-empty-state{text-align:center;padding:24px;color:#fff6;font-family:var(--font-primary);font-size:.85rem}.mechanics-add-stat-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;margin-top:8px;cursor:pointer;color:rgba(var(--vsg-purple-rgb),.7);background:rgba(var(--vsg-purple-rgb),.05);border:1px dashed rgba(var(--vsg-purple-rgb),.2);border-radius:8px;font-family:var(--font-primary);font-size:.85rem;transition:all .2s ease}.mechanics-add-stat-btn:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.4);color:var(--vsg-purple)}.pool-color-group{flex-basis:100%}.pool-color-pickers{display:flex;align-items:center;gap:6px}.pool-color-picker{display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer}.pool-color-picker input[type=color]{-webkit-appearance:none;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;width:28px;height:20px;padding:0;cursor:pointer;background:transparent}.pool-color-picker input[type=color]::-webkit-color-swatch-wrapper{padding:1px}.pool-color-picker input[type=color]::-webkit-color-swatch{border:none;border-radius:3px}.pool-color-label{font-size:.65rem;color:#fff6}.pool-color-arrow{color:#ffffff4d;font-size:.75rem;margin:0 2px 12px}.pool-border-width{display:flex;flex-direction:column;align-items:center;gap:2px}.pool-border-width .mechanics-formula-input{font-size:.75rem;padding:2px 4px;height:20px;border-radius:4px}.mechanics-defaults-view{display:flex;flex-direction:column;gap:16px}.mechanics-defaults-description{font-family:var(--font-primary);font-size:.85rem;color:#ffffff80;margin:0}.mechanics-defaults-toggle{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:rgba(var(--vsg-purple-rgb),.04);border:1px solid rgba(var(--vsg-purple-rgb),.12);border-radius:10px}.mechanics-defaults-toggle .option-label{font-family:var(--font-primary);font-size:.85rem;color:#ffffffb3}.mechanics-section{display:flex;flex-direction:column;gap:10px}.mechanics-section-title{font-family:var(--font-primary);font-size:.9rem;font-weight:400;color:rgba(var(--vsg-purple-rgb),.85);margin:0;text-transform:uppercase;letter-spacing:.5px;padding-bottom:6px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15)}.mechanics-add-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;cursor:pointer;color:rgba(var(--vsg-purple-rgb),.7);background:rgba(var(--vsg-purple-rgb),.05);border:1px dashed rgba(var(--vsg-purple-rgb),.25);border-radius:8px;font-family:var(--font-primary);font-size:.85rem;transition:all .2s ease}.mechanics-add-btn:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.4);color:var(--vsg-purple)}.mechanics-import-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.25);border-radius:8px;margin-bottom:12px}.mechanics-import-text{font-family:var(--font-primary);font-size:.82rem;color:#ffffffb3;margin:0}.fi-love-settings-wrapper{margin-top:12px;display:flex;flex-direction:column;gap:8px}.fi-love-settings-btn{width:auto;align-self:flex-start;border-color:rgba(var(--vsg-magenta-rgb),.25)!important;color:rgba(var(--vsg-magenta-rgb),.7)!important;background:rgba(var(--vsg-magenta-rgb),.08)!important}.fi-love-settings-btn:hover{color:var(--vsg-magenta)!important;border-color:rgba(var(--vsg-magenta-rgb),.4)!important;background:rgba(var(--vsg-magenta-rgb),.15)!important}.section-eye-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--vsg-purple);cursor:default;transition:all .2s ease;flex-shrink:0}.section-eye-icon.clickable{cursor:pointer}.section-eye-icon.clickable:hover{background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple-bright)}.section-eye-icon.clickable:active{opacity:.8}.section-eye-icon.readonly{opacity:.7}.section-eye-icon.readonly:hover{opacity:1}.section-eye-icon .eye-svg{width:18px;height:18px;filter:drop-shadow(0 0 4px rgba(var(--vsg-purple-rgb),.4))}.section-eye-icon.clickable:hover .eye-svg{filter:drop-shadow(0 0 8px rgba(var(--vsg-purple-rgb),.6))}.section-eye-tooltip .tooltip-content{white-space:pre-line;text-align:left;line-height:1.5}.section-settings-modal{position:relative;background:transparent;border-radius:12px;width:90%;max-width:420px;max-height:calc(90 * var(--vh-fit));overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.3);border:1px solid rgba(var(--vsg-purple-rgb),.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:popIn .2s ease}@keyframes popIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.section-settings-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05)}.section-settings-modal .modal-title{font-family:var(--font-primary);font-size:1.15rem;font-weight:400;color:var(--vsg-purple);margin:0;display:flex;align-items:center;gap:12px;text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5)}.section-settings-modal .close-button{background:transparent;border:none;color:rgba(var(--vsg-purple-rgb),.7);cursor:pointer;padding:8px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.section-settings-modal .close-button:hover{background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple)}.section-settings-modal-content{padding:24px;overflow-y:auto;flex:1}.section-settings-modal .form-group{margin-bottom:20px}.section-settings-modal .form-group:last-child{margin-bottom:0}.section-settings-modal .form-label{display:block;font-family:var(--font-primary);font-size:.9rem;font-weight:400;color:rgba(var(--vsg-purple-rgb),.9);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px;cursor:help}.section-settings-modal .form-hint{display:block;font-size:.8rem;color:rgba(var(--vsg-purple-rgb),.5);margin-bottom:8px;font-style:normal;font-family:var(--font-primary)}.section-settings-modal .dropdown{width:100%}.section-settings-modal .modal-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid rgba(var(--vsg-purple-rgb),.2);background:rgba(var(--vsg-purple-rgb),.05)}.section-settings-modal .modal-footer-right{display:flex;gap:10px}@media (max-width: 600px){.section-settings-modal{width:95%;max-height:calc(95 * var(--vh-fit))}.section-settings-modal .modal-header,.section-settings-modal-content,.section-settings-modal .modal-footer{padding:16px}}.name-bank-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:4px;border:none;border-radius:6px;background:transparent;color:var(--vsg-purple);cursor:pointer;transition:all .2s ease}.name-bank-icon:hover{background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple);transform:scale(1.1)}.name-bank-icon:active{transform:scale(.95)}.name-bank-icon .name-bank-svg{width:18px;height:18px}.import-icon{display:inline-flex;align-items:center;justify-content:center;padding:4px;border:none;border-radius:6px;background:transparent;color:var(--vsg-purple);cursor:default;transition:all .2s ease}.import-icon-medium{width:32px;height:32px}.import-icon-small{width:24px;height:24px}.import-icon.clickable{cursor:pointer}.import-icon.clickable:hover{background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple);transform:scale(1.1)}.import-icon.clickable:active{transform:scale(.95)}.import-icon.disabled{opacity:.4;cursor:not-allowed}.import-icon:disabled{opacity:.4;cursor:not-allowed}.import-icon.loading .import-svg{animation:import-bounce .6s ease-in-out infinite}@keyframes import-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.import-icon-medium .import-svg{width:20px;height:20px}.import-icon-small .import-svg{width:16px;height:16px}.game-navigator{display:flex;flex-direction:column;gap:.75rem;margin-bottom:0}.join-game-btn{background:rgba(var(--vsg-purple-rgb),.15);border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:6px;color:var(--vsg-purple);font-family:var(--font-primary);font-size:var(--nav-action-label);padding:var(--nav-action-pad);cursor:pointer;transition:all .2s ease;letter-spacing:.3px}.join-game-btn:hover{background:rgba(var(--vsg-purple-rgb),.3);border-color:var(--vsg-purple);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.5);transform:scale(1.05)}.join-game-btn.pending{background:rgba(var(--vsg-gold-rgb),.15);border:1px solid rgba(var(--vsg-gold-rgb),.4);color:var(--vsg-gold)}.join-game-btn.pending:hover{background:rgba(var(--vsg-caution-rgb),.25);border-color:var(--vsg-caution);box-shadow:0 0 15px rgba(var(--vsg-caution-rgb),.5);transform:scale(1.05)}.character-creation-btn{background:rgba(var(--vsg-purple-rgb),.15);border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:6px;color:var(--vsg-purple);font-family:var(--font-primary);font-size:var(--nav-action-label);padding:var(--nav-action-pad);cursor:pointer;transition:all .2s ease;letter-spacing:.3px;white-space:nowrap}.character-creation-btn:hover{background:rgba(var(--vsg-purple-rgb),.3);border-color:var(--vsg-purple);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.5);transform:scale(1.05)}.section-action-btn{background:rgba(var(--vsg-purple-rgb),.15);border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:6px;color:var(--vsg-purple);font-family:var(--font-primary);font-size:var(--nav-action-label);padding:var(--nav-action-pad);cursor:pointer;transition:all .2s ease;letter-spacing:.3px;white-space:nowrap}.section-action-btn:hover{background:rgba(var(--vsg-purple-rgb),.3);border-color:var(--vsg-purple);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.5);transform:scale(1.05)}.lore-category-tabs{display:flex;flex-wrap:wrap;gap:.25rem;background:#0000004d;border-radius:8px;padding:3px;border:1px solid rgba(var(--vsg-purple-rgb),.15);justify-content:center}.lore-subcategory-tabs{display:flex;gap:.35rem;background:#0003;border-radius:6px;padding:3px;border:1px solid rgba(var(--vsg-purple-rgb),.1);justify-content:center;flex-wrap:wrap}.name-bank-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000}.name-bank-modal{background:#000000f2;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;width:800px;max-width:calc(90 * var(--vw-fit));height:calc(85 * var(--vh-fit));display:flex;flex-direction:column;box-shadow:0 0 40px rgba(var(--vsg-purple-rgb),.15)}.name-bank-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 12px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.15);flex-shrink:0}.name-bank-title{font-family:var(--font-primary);font-weight:400;font-size:18px;color:var(--vsg-purple);margin:0}.name-bank-header-actions{display:flex;align-items:center;gap:8px}.name-bank-classify-progress{padding:6px 24px;font-family:var(--font-primary);font-size:12px;color:rgba(var(--vsg-purple-rgb),.6);animation:namebank-pulse 1.5s ease-in-out infinite}@keyframes namebank-pulse{0%,to{opacity:.6}50%{opacity:1}}.name-bank-classify-result{padding:6px 24px;font-family:var(--font-primary);font-size:12px;color:#ffffff80;animation:namebank-fade-out 4s ease forwards}@keyframes namebank-fade-out{0%,70%{opacity:1}to{opacity:0}}.name-bank-body{display:flex;flex-direction:column;gap:12px;padding:16px 24px;overflow-y:auto;flex:1}.name-bank-cast-section{border-bottom:1px solid rgba(var(--vsg-purple-rgb),.1);padding-bottom:12px}.name-bank-cast-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;cursor:pointer;padding:4px 0}.name-bank-cast-label{font-family:var(--font-primary);font-weight:400;font-size:12px;color:#fff6;text-transform:uppercase;letter-spacing:.5px}.name-bank-cast-chevron{font-size:14px;color:#ffffff4d;transition:transform .2s ease;transform:rotate(0)}.name-bank-cast-chevron.expanded{transform:rotate(90deg)}.name-bank-cast-list{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:8px;padding:8px 0}.name-bank-cast-name{font-family:var(--font-primary);font-size:12px;font-weight:400;color:rgba(var(--vsg-magenta-rgb),.7)}.name-bank-cast-name:not(:last-child):after{content:",";color:#ffffff26}.name-bank-controls{display:flex;flex-direction:column;gap:8px;flex-shrink:0}.name-bank-toggle{display:flex;align-items:center;gap:12px}.name-bank-count{font-family:var(--font-primary);font-size:12px;color:#ffffff59;font-weight:400;margin-left:8px}.name-bank-input-row{display:flex;gap:6px}.name-bank-input{flex:1;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:6px;padding:6px 10px;font-family:var(--font-primary);font-size:12px;color:#ffffffe6;outline:none;transition:border-color .2s ease}.name-bank-input:focus{border-color:var(--vsg-purple)}.name-bank-input::placeholder{color:#ffffff40}.name-bank-add-btn{width:30px;height:30px;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:6px;color:var(--vsg-purple);font-size:16px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.name-bank-add-btn:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.15);border-color:var(--vsg-purple)}.name-bank-add-btn:disabled{opacity:.3;cursor:not-allowed}.name-bank-controls .alphabet-filter{margin-bottom:0;gap:2px}.name-bank-controls .alphabet-filter .alphabet-letter{padding:2px 5px;font-size:11px}.name-bank-names-list{flex:1;overflow-y:auto;padding-top:4px}.name-bank-empty{font-family:var(--font-primary);font-size:12px;color:#ffffff40;font-style:normal}.name-bank-letter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:4px 8px}.name-bank-letter-column{min-width:0}.name-bank-letter-header{font-family:var(--font-primary);font-size:11px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.5);text-transform:uppercase;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.08);padding-bottom:2px;margin-bottom:4px}.name-bank-single-letter{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.name-bank-name-item{display:flex;align-items:center;justify-content:space-between;padding:2px 4px;border-radius:4px;transition:background .15s ease}.name-bank-name-item:hover{background:rgba(var(--vsg-purple-rgb),.06)}.name-bank-name-text{font-family:var(--font-primary);font-size:11px;font-weight:400;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.name-bank-name-item.available .name-bank-name-text{color:#fffc}.name-bank-name-item.used .name-bank-name-text{color:rgba(var(--vsg-magenta-rgb),.6)}.name-bank-name-remove{display:none;align-items:center;justify-content:center;width:14px;height:14px;padding:0;border:none;border-radius:50%;background:transparent;color:rgba(var(--vsg-magenta-rgb),.6);font-size:11px;cursor:pointer;transition:all .15s ease;line-height:1;flex-shrink:0}.name-bank-name-item:hover .name-bank-name-remove{display:flex}.name-bank-name-remove:hover{background:rgba(var(--vsg-magenta-rgb),.15);color:var(--vsg-magenta)}.name-bank-names-list::-webkit-scrollbar{width:4px}.name-bank-names-list::-webkit-scrollbar-track{background:transparent}.name-bank-names-list::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.15);border-radius:4px}.name-bank-names-list::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.3)}.name-bank-body::-webkit-scrollbar{width:5px}.name-bank-body::-webkit-scrollbar-track{background:transparent}.name-bank-body::-webkit-scrollbar-thumb{background:rgba(var(--vsg-purple-rgb),.15);border-radius:4px}.name-bank-body::-webkit-scrollbar-thumb:hover{background:rgba(var(--vsg-purple-rgb),.3)}.name-bank-footer{display:flex;justify-content:flex-end;padding:12px 24px 16px;border-top:1px solid rgba(var(--vsg-purple-rgb),.15);flex-shrink:0}.name-bank-suggest-btn{background:#000000e6;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;padding:8px 16px;font-family:var(--font-primary);font-size:13px;font-weight:400;color:var(--vsg-purple);cursor:pointer;transition:all .2s ease}.name-bank-suggest-btn:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.1);border-color:var(--vsg-purple)}.name-bank-suggest-btn:disabled{opacity:.5;cursor:wait}.error-banner{background:rgba(var(--vsg-error-rgb),.1);border:1px solid rgba(var(--vsg-error-rgb),.3);border-radius:8px;padding:12px 16px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.error-dismiss{background:none;border:none;color:#ffffff80;font-size:20px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:color .2s}.error-dismiss:hover{color:#fffc}.saving-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.saving-overlay .unified-loading-state{min-height:auto;padding:40px;background:rgba(var(--vsg-surface-rgb),.9);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px}.add-level-btn,.leave-game-btn{min-width:120px}.pc-selection-row{display:flex;gap:.5rem;align-items:center;margin-bottom:.5rem}.pc-selection-row .form-select{flex:1;margin-bottom:0}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.close-btn{background:transparent;border:none;color:var(--vsg-purple);font-size:2rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;border-radius:4px}.close-btn:hover{background:rgba(var(--vsg-purple-rgb),.2);transform:scale(1.1)}.thread-setting-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px}.thread-setting-row label{color:var(--vsg-purple);font-family:var(--font-primary);font-size:.9rem;text-transform:uppercase;letter-spacing:1px;margin:0}.thread-setting-row .toggle-container,.thread-setting-row .checkbox-wrapper{margin:0}.chronology-section{background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;padding:1rem;margin-bottom:1rem}.chronology-info{margin-bottom:.75rem}.chronology-index{font-family:var(--font-primary);font-size:1rem;color:var(--vsg-purple);font-weight:400}.chronology-error{color:var(--vsg-error);font-size:.85rem;margin-top:.5rem;margin-bottom:0}.chronology-hint{color:#fff9;font-size:.8rem;font-style:normal;margin-top:.5rem;margin-bottom:0}.add-level-form{background:#0009;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;padding:1.5rem;margin-bottom:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.add-level-form h3{color:var(--vsg-purple);font-family:var(--font-primary);margin-bottom:1rem}.game-levels{display:block;width:100%;padding:1rem 2rem 0}.level-header{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;align-items:start;margin-bottom:.5rem}.level-info{grid-column:1 / -1;display:grid;grid-template-columns:subgrid}.level-top-row{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;align-items:flex-start}.level-top-row .level-name{grid-column:1;justify-self:start}.level-top-row .session-status-indicators{grid-column:2;justify-self:center}.level-top-row .level-right-section{grid-column:3;justify-self:end}.level-right-section{display:flex;flex-direction:column;gap:.25rem;align-items:flex-end;min-width:0;max-width:100%}.level-stats-row{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem;flex-shrink:0;min-width:0;max-width:100%}.level-stats-left{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:1.5rem;min-width:0;max-width:100%;color:rgba(var(--vsg-purple-rgb),.6);font-size:.85rem;flex-shrink:0}.level-name{color:var(--vsg-purple);font-family:var(--font-primary);font-size:1.1rem;font-weight:400;margin:0;display:flex;align-items:center;gap:.5rem}.collapse-btn{background:none;border:none;color:rgba(var(--vsg-purple-rgb),.7);font-size:.8rem;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.collapse-btn:hover{color:var(--vsg-purple);transform:scale(1.2)}.lock-icon{font-size:.9rem;opacity:.7}.level-bottom-row{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;margin-top:.5rem}.level-bottom-row.three-column{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;align-items:center}.level-bottom-row.three-column .bottom-left{justify-self:start}.level-bottom-row.three-column .bottom-center{justify-self:center;display:flex;flex-direction:column;align-items:center;gap:2px}.level-bottom-row.three-column .bottom-right{justify-self:end}.level-description{color:#ffffffb3;font-size:.9rem;margin:0;flex:1}.level-controls{display:flex;gap:.5rem;margin-top:.25rem}.reorder-btn{width:32px;height:32px;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:var(--vsg-purple);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:1rem}.reorder-btn:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.2);transform:scale(1.1)}.reorder-btn:disabled{opacity:.3;cursor:not-allowed}.settings-btn{width:32px;height:32px;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:var(--vsg-purple);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:16px;padding:0}.settings-btn:hover{background:rgba(var(--vsg-purple-rgb),.2);transform:scale(1.1)}.nested-levels-list{background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:6px;padding:.75rem;max-height:200px;overflow-y:auto}.nested-level-item{padding:.5rem;background:rgba(var(--vsg-purple-rgb),.1);border-radius:4px;margin-bottom:.5rem;color:var(--vsg-purple)}.nested-level-item:last-child{margin-bottom:0}.level-stats{display:flex;flex-direction:row;align-items:center;gap:1.5rem;color:rgba(var(--vsg-purple-rgb),.6);font-size:.85rem;flex-shrink:0}@media (max-width: 600px){.level-controls{align-self:flex-end}}.members-view{width:100%;padding:0 2rem}.members-list{display:flex;flex-direction:column;gap:12px;padding:1rem;width:100%;align-items:center}.member-item{display:flex;flex-wrap:wrap;align-items:center;padding:16px;background:rgba(var(--vsg-purple-rgb),.05);border:.25px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;transition:all .2s ease;position:relative;width:100%}.member-section{flex:1;display:flex;align-items:center}.member-section-left{gap:16px;justify-content:flex-start}.member-section-center{justify-content:center}.member-section-right{gap:8px;justify-content:flex-end}.member-item:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.4);transform:translate(4px)}.member-rank{font-family:var(--font-primary);color:rgba(var(--vsg-purple-rgb),.6);font-size:16px;font-weight:400;min-width:32px;text-align:right}.member-avatar{flex-shrink:0}.member-info-wrapper{display:flex;flex-direction:column;gap:4px}.member-user-info{flex:1}.member-character-name{font-family:var(--font-primary);color:rgba(var(--vsg-purple-rgb),.7);font-size:14px;font-style:normal;margin-top:4px}.member-creator-label{font-family:var(--font-primary);color:rgba(var(--vsg-purple-rgb),.8);font-size:18px;font-weight:400}.member-pc-avatars{display:flex;gap:8px;align-items:center}.member-pc-avatar{width:40px;height:40px;border-radius:50%;border:2px solid rgba(var(--vsg-purple-rgb),.3);object-fit:cover;transition:all .2s ease}.member-pc-avatar:hover{border-color:rgba(var(--vsg-purple-rgb),.6);transform:scale(1.1)}.member-herodotus-section{flex-shrink:0;display:flex;align-items:center;margin-left:12px}.pending-pc-indicator{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px}.pc-status-label{font-size:11px;font-weight:400;padding:2px 8px;border-radius:4px;font-family:var(--font-primary);letter-spacing:.5px}.pc-status-label.pending{background:rgba(var(--vsg-purple-rgb),.15);color:var(--vsg-purple);border:1px solid rgba(var(--vsg-purple-rgb),.5)}.pc-status-label.rejected{background:rgba(var(--vsg-magenta-rgb),.15);color:var(--vsg-magenta);border:1px solid rgba(var(--vsg-magenta-rgb),.5)}.spectator-pc-actions{display:flex;gap:8px;margin-top:8px}.spectator-pc-actions button{font-size:10px;padding:6px 12px;height:auto}.members-view .loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px}.member-info-wrapper .styled-display-name-with-tooltip{position:relative;cursor:pointer;display:inline-block}.member-info-wrapper .styled-display-name-with-tooltip .gm-rank-tooltip{visibility:hidden;position:absolute;bottom:calc(100% + 8px);left:0;background:#000000f2;color:#fffffff2;padding:8px 12px;border-radius:6px;border:1px solid rgba(var(--vsg-purple-rgb),.4);font-size:.85rem;white-space:nowrap;z-index:10000;pointer-events:none;box-shadow:0 4px 12px #00000080}.member-info-wrapper .styled-display-name-with-tooltip:hover .gm-rank-tooltip{visibility:visible}@media (max-width: 600px){.member-item{padding:12px;gap:12px}.creator-item{padding-left:36px}.member-rank{font-size:14px;min-width:24px}.member-character-name{font-size:12px}}.cast-view{padding:1rem 2rem;width:100%}.cast-content{display:flex;flex-direction:column;gap:2rem;width:100%;align-items:center}.character-avatar-circle{flex-shrink:0;width:80px;height:80px;border-radius:50%;overflow:hidden;border:2px solid rgba(var(--vsg-purple-rgb),.3);background:#0009}.character-avatar-circle img{width:100%;height:100%;object-fit:cover}.character-details{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0;justify-content:center;overflow:visible}.character-details .character-name{font-family:var(--font-primary);font-size:18px;font-weight:400;color:var(--vsg-purple);letter-spacing:.5px;line-height:1.2;text-align:left;display:flex;align-items:center;gap:8px;min-width:0}.character-details .character-name .character-name-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}.character-details .character-name .mvp-badge-inline{flex-shrink:0;margin-left:auto}.character-details .character-name.dead-character{color:var(--vsg-magenta)}.character-details .character-intro{font-size:14px;color:#ffffffb3;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;text-align:left}.character-player-info{flex:1;min-width:0;display:flex;align-items:center;align-self:stretch;gap:12px;padding-left:20px;border-left:1px solid rgba(var(--vsg-purple-rgb),.2);overflow:visible}.player-avatar-normal{width:48px;height:48px;border-radius:50%}.player-display-name{display:flex;flex-direction:column;gap:4px}.npc-label{font-family:var(--font-primary);font-size:14px;font-weight:400;color:var(--vsg-purple);letter-spacing:1px;opacity:.8}.npc-label-official{color:var(--vsg-magenta);font-weight:400;opacity:1;text-shadow:0 0 8px rgba(var(--vsg-magenta-rgb),.3)}.assignment-stack{display:flex;flex-direction:column;align-items:stretch;gap:4px;width:100%;overflow:visible}.character-player-info .user-profile-display{max-width:140px;overflow:visible}.character-player-info .user-profile-display-name,.character-player-info .styled-display-name,.character-player-info .username{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.creator-controller-info{display:flex;flex-direction:column;gap:2px}.attribution-line{font-family:var(--font-primary);font-size:10px;font-weight:400;color:#ffffff80;letter-spacing:.3px;white-space:nowrap}.attribution-name{color:rgba(var(--vsg-purple-rgb),.8)}.character-created-by{display:flex;align-items:center;padding:0 12px;border-left:1px solid rgba(var(--vsg-purple-rgb),.15)}.created-by-label{font-family:var(--font-primary);font-size:11px;font-weight:400;color:#ffffff80;letter-spacing:.5px;white-space:nowrap}.character-metadata-section{flex:1;display:flex;align-items:center;padding-left:20px;border-left:1px solid rgba(var(--vsg-purple-rgb),.2);min-width:0}.character-assignment-section{min-width:100px;display:flex;align-items:center;justify-content:flex-end;padding-left:20px;border-left:1px solid rgba(var(--vsg-purple-rgb),.2)}.pending-characters-section{background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;padding:1.5rem}.pending-characters-section h3{font-family:var(--font-primary);color:var(--vsg-purple);font-size:20px;margin:0 0 1rem;letter-spacing:.5px}.pending-character-card{display:flex;align-items:center;gap:16px;padding:16px;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;margin-bottom:12px;transition:all .2s ease}.pending-character-card:last-child{margin-bottom:0}.pending-character-card:hover{background:#00000080;border-color:rgba(var(--vsg-purple-rgb),.4)}.pending-character-card .pending-pc-avatar{width:64px;height:64px;border-radius:8px;object-fit:cover;border:2px solid rgba(var(--vsg-purple-rgb),.3)}.pending-pc-info{flex:1;display:flex;flex-direction:column;gap:4px}.pending-pc-name{font-family:var(--font-primary);color:var(--vsg-purple);font-size:18px;font-weight:400}.pending-pc-user{color:#ffffffb3;font-size:14px}.pending-pc-date{color:#ffffff80;font-size:12px;font-style:normal}.pending-pc-actions{display:flex;gap:8px}.characters-list{display:flex;flex-direction:column;gap:12px;width:100%}.character-item{display:flex;align-items:center;gap:16px;padding:16px;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;transition:all .2s ease}.character-item:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.4);transform:translate(4px)}.character-item .character-avatar{width:56px;height:56px;border-radius:8px;object-fit:cover;border:2px solid rgba(var(--vsg-purple-rgb),.3)}.import-game-btn.fantamaster-button.primary{--glow-play: paused;--glow-rest: none;box-shadow:none!important}.view-transcripts-btn.fantamaster-button.primary{--glow-rest: 0 0 10px rgba(var(--vsg-purple-rgb), .5), 0 0 20px rgba(var(--vsg-purple-rgb), .3);--glow-peak: 0 0 20px rgba(var(--vsg-purple-rgb), .8), 0 0 30px rgba(var(--vsg-purple-rgb), .5);--glow-period: 2s}.character-buttons-column{display:flex;flex-direction:column;align-items:stretch;gap:6px;flex-shrink:0;width:110px}.character-buttons-column .character-sheet-button-section{padding:0;min-width:auto}.character-buttons-column .character-sheet-btn{width:100%;justify-content:center}.character-buttons-column .metadata-history-btn{justify-content:center;padding:10px 16px;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:var(--vsg-purple);font-family:inherit;font-size:14px;font-weight:400;letter-spacing:normal;text-transform:uppercase}.character-buttons-column .metadata-history-btn:hover{background:rgba(var(--vsg-purple-rgb),.25);border-color:var(--vsg-purple);box-shadow:0 0 8px rgba(var(--vsg-purple-rgb),.3);transform:translateY(-1px)}.character-sheet-button-section{display:flex;align-items:center;justify-content:flex-end;padding:0 12px;min-width:100px;flex-shrink:0}.character-sheet-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.15),rgba(var(--vsg-purple-rgb),.05));border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:8px;color:var(--vsg-purple);font-size:14px;font-weight:400;text-transform:uppercase;cursor:pointer;transition:all .3s ease}.character-sheet-btn:hover{background:linear-gradient(135deg,rgba(var(--vsg-purple-rgb),.25),rgba(var(--vsg-purple-rgb),.15));border-color:var(--vsg-purple);transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--vsg-purple-rgb),.3)}.character-sheet-btn:active{transform:translateY(0);box-shadow:0 2px 6px rgba(var(--vsg-purple-rgb),.2)}.character-sheet-btn svg{flex-shrink:0}.grant-points-btn{display:flex;align-items:center;justify-content:center;padding:10px 16px;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:var(--vsg-purple);font-size:13px;font-weight:400;cursor:pointer;transition:all .2s ease;white-space:nowrap}.grant-points-btn:hover{background:rgba(var(--vsg-purple-rgb),.25);border-color:var(--vsg-purple);box-shadow:0 0 8px rgba(var(--vsg-purple-rgb),.3);transform:translateY(-1px)}.grant-points-btn:active{transform:translateY(0)}.cast-progression-badge{display:flex;align-items:center;justify-content:center;padding:6px 14px;border-radius:20px;font-size:11px;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:1px;font-weight:400;cursor:pointer;transition:all .3s ease;border:1px solid}.cast-progression-badge.legit{background:rgba(var(--vsg-purple-rgb),.12);color:var(--vsg-purple);border-color:rgba(var(--vsg-purple-rgb),.3)}.cast-progression-badge.legit:hover{background:rgba(var(--vsg-purple-rgb),.25);border-color:var(--vsg-purple);box-shadow:0 0 8px rgba(var(--vsg-purple-rgb),.3)}.cast-progression-badge.boosted{background:rgba(var(--vsg-magenta-rgb),.12);color:var(--vsg-magenta);border-color:rgba(var(--vsg-magenta-rgb),.3)}.cast-progression-badge.boosted:hover{background:rgba(var(--vsg-magenta-rgb),.25);border-color:var(--vsg-magenta);box-shadow:0 0 8px rgba(var(--vsg-magenta-rgb),.3)}.character-herodotus-section{display:flex;align-items:center;justify-content:center;padding:0 12px}.herodotus-view{width:100%;min-height:calc(60 * var(--vh-fit));padding:24px}.herodotus-view>.geography-section,.herodotus-view>.lore-section{width:100%;min-height:calc(50 * var(--vh-fit))}.herodotus-empty-state{max-width:600px;text-align:center;background:rgba(var(--vsg-purple-rgb),.05);border:2px dashed rgba(var(--vsg-purple-rgb),.3);border-radius:16px;padding:60px 40px;animation:fadeInUp .5s ease;display:flex;flex-direction:column;align-items:center}.herodotus-empty-icon{font-size:72px;margin-bottom:24px;opacity:.7;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.herodotus-empty-state h3{color:#ffffffdb;font-size:28px;font-weight:400;margin:0 0 16px}.herodotus-empty-state p{color:var(--vsg-info);font-size:16px;line-height:1.6;margin:0 0 32px}.analyze-campaign-btn{background:linear-gradient(135deg,var(--vsg-purple) 0%,rgba(var(--vsg-purple-rgb),.71) 100%);border:2px solid rgba(var(--vsg-purple-rgb),.5);color:#ffffffed;font-size:16px;font-weight:400;padding:14px 32px;border-radius:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px rgba(var(--vsg-purple-rgb),.2)}.analyze-campaign-btn:hover{background:linear-gradient(135deg,var(--vsg-purple) 0%,var(--vsg-purple) 100%);border-color:var(--vsg-purple);box-shadow:0 6px 16px rgba(var(--vsg-purple-rgb),.4);transform:translateY(-2px)}.analyze-campaign-btn:active{transform:translateY(0);box-shadow:0 2px 8px rgba(var(--vsg-purple-rgb),.3)}.matrix-modal-container{background:transparent;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;max-width:1200px;width:95%;max-height:calc(90 * var(--vh-fit));display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(var(--vsg-purple-rgb),.2);overflow:hidden}.matrix-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.matrix-modal-header h2{font-size:20px;font-weight:400;color:var(--vsg-purple);margin:0;font-family:var(--font-primary)}.matrix-modal-content{flex:1;overflow-y:auto;padding:24px}.system-navigator{display:flex;flex-direction:column;gap:.75rem;margin-bottom:0}.system-navigator .main-tab{background:transparent;border:none;border-bottom:1px solid transparent;padding:var(--main-tab-pad);color:rgba(var(--vsg-purple-rgb),.5);font-family:var(--font-primary);font-size:var(--main-tab-label);font-weight:400;cursor:pointer;transition:all .2s ease;letter-spacing:.5px;white-space:nowrap}.system-navigator .main-tab:hover{color:rgba(var(--vsg-purple-rgb),.8);border-bottom-color:rgba(var(--vsg-purple-rgb),.3)}.system-navigator .main-tab.active{color:var(--vsg-purple);border-bottom-color:var(--vsg-purple)}.system-welcome-tab{display:flex;flex-direction:column;align-items:center;gap:24px;padding:20px;min-height:400px}.system-welcome-tab .settings-content,.system-welcome-tab .system-welcome-loading{width:100%;align-self:stretch}.system-welcome-loading{display:flex;align-items:center;justify-content:center;min-height:300px}.system-welcome-tab .settings-content{display:flex;flex-direction:column;gap:12px}.system-welcome-tab .settings-section{background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;padding:24px}.system-welcome-tab .section-title{font-family:var(--font-primary);font-size:20px;font-weight:400;color:var(--vsg-purple);margin:0 0 20px;letter-spacing:.5px}.system-welcome-tab .info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media (max-width: 1200px){.system-welcome-tab .info-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.system-welcome-tab .info-grid{grid-template-columns:1fr}}.system-welcome-tab .info-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;min-height:80px;background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;text-align:center}.system-welcome-tab .info-label{font-family:var(--font-primary);font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:1px;color:rgba(var(--vsg-purple-rgb),.7)}.system-welcome-tab .info-value{font-family:var(--font-primary);font-size:14px;font-weight:400;color:var(--vsg-purple)}.system-welcome-tab .info-value.styled-display-name-with-tooltip{overflow:visible}.system-welcome-tab .about-section{padding:12px 20px}.system-welcome-tab .about-section .section-title{margin-bottom:8px}.system-welcome-tab .about-content{padding:10px 14px;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:6px}.system-welcome-tab .about-text{font-family:var(--font-primary);font-size:14px;line-height:1.8;color:#ffffffe6;margin:0;white-space:pre-wrap}.system-welcome-tab .specific-topics-list{display:flex;flex-direction:column;gap:12px}.system-welcome-tab .specific-topic{padding:16px;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:6px}.system-welcome-tab .specific-topic.creator-only{border-color:rgba(var(--vsg-purple-rgb),.5)}.system-welcome-tab .creator-badge{display:inline-block;font-family:var(--font-primary);font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:1px;color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.15);padding:2px 8px;border-radius:4px;margin-bottom:8px}.system-welcome-tab .topic-title{font-family:var(--font-primary);font-size:16px;font-weight:400;color:var(--vsg-purple);margin:0 0 8px}.system-welcome-tab .topic-content{font-family:var(--font-primary);font-size:14px;line-height:1.6;color:#fffc;margin:0;white-space:pre-wrap}.system-archives-tab{display:flex;flex-direction:column;gap:16px;padding:16px;min-height:400px}:where(.system-archives-tab) .archives-error p{color:var(--vsg-magenta)}.archives-toolbar{display:flex;justify-content:flex-end;padding:0 4px}.archives-list{display:flex;flex-direction:column;gap:8px}.archive-item{display:flex;flex-direction:column;gap:4px}.archive-header{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer}.archive-info{flex:1;min-width:0}.archive-name{font-family:var(--font-primary);font-size:15px;font-weight:400;color:var(--vsg-purple);margin:0}.archive-meta{font-family:var(--font-primary);font-size:12px;color:rgba(var(--vsg-purple-rgb),.5);flex-shrink:0}.add-child-btn{background:none;border:1px solid rgba(var(--vsg-purple-rgb),.2);color:rgba(var(--vsg-purple-rgb),.6);border-radius:4px;width:24px;height:24px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease}.add-child-btn:hover{border-color:rgba(var(--vsg-purple-rgb),.5);color:var(--vsg-purple)}.archive-children{padding-left:8px;display:flex;flex-direction:column;gap:4px}.add-archive-form{background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;padding:20px}.add-archive-form h3{font-family:var(--font-primary);font-size:16px;font-weight:400;color:var(--vsg-purple);margin:0 0 16px}.add-archive-form .form-input{width:100%;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:6px;padding:10px 14px;color:#ffffffe6;font-family:var(--font-primary);font-size:14px;font-weight:400;margin-bottom:12px;box-sizing:border-box}.add-archive-form .form-textarea{width:100%;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:6px;padding:10px 14px;color:#ffffffe6;font-family:var(--font-primary);font-size:14px;font-weight:400;resize:vertical;margin-bottom:12px;box-sizing:border-box}:where(.system-archives-tab) .form-actions{display:flex;gap:8px;justify-content:flex-end}.archive-details{background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;padding:20px}.archive-details h2{font-family:var(--font-primary);font-size:18px;font-weight:400;color:var(--vsg-purple);margin:0 0 12px}.archive-detail-desc{color:#ffffffb3;font-size:14px;line-height:1.6;margin:0 0 16px}.archive-actions{display:flex;gap:8px;justify-content:flex-end}.system-character-sheets-tab{display:flex;flex-direction:column;gap:16px;padding:16px;min-height:400px}.sheet-simple-card{background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;padding:16px;transition:all .2s ease}.sheet-simple-card:hover{background:#00000080;border-color:rgba(var(--vsg-purple-rgb),.4);transform:translateY(-2px)}.sheet-card-name{font-family:var(--font-primary);font-size:15px;font-weight:400;color:var(--vsg-purple);margin:0 0 8px}.sheet-card-desc{font-family:var(--font-primary);font-size:13px;color:#fff9;margin:0 0 12px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sheet-card-meta{display:flex;gap:12px;align-items:center;font-family:var(--font-primary);font-size:12px;color:#fff6}.sheet-owner-badge{color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.15);padding:2px 8px;border-radius:4px;font-size:10px;text-transform:uppercase;letter-spacing:.5px}.schema-editor{padding:10px 12px;margin-bottom:12px;background:#0003;border:1px solid rgba(var(--vsg-purple-rgb),.1);border-radius:6px}.schema-editor-header{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:4px 0}.schema-chevron{font-size:10px;opacity:.6;transition:transform .2s ease}.schema-title{font-family:var(--font-primary);font-size:11px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.6);text-transform:uppercase;letter-spacing:.5px}.schema-count{font-family:var(--font-primary);font-size:10px;color:#ffffff4d}.schema-editor-body{padding-top:.75rem;border-top:1px solid rgba(var(--vsg-purple-rgb),.1);margin-top:.5rem}.schema-hint{font-family:var(--font-primary);font-size:11px;font-weight:400;color:#ffffff59;margin:0 0 .75rem;line-height:1.4}.schema-column-row{margin-bottom:.5rem;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.1);border-radius:6px;overflow:hidden;transition:border-color .2s ease}.schema-column-row:hover{border-color:rgba(var(--vsg-purple-rgb),.25)}.schema-column-main{display:flex;gap:.5rem;align-items:center;padding:.5rem}.schema-reorder{display:flex;flex-direction:column;gap:1px}.schema-reorder-btn{background:transparent;border:none;color:#fff3;cursor:pointer;padding:0 4px;font-size:8px;line-height:1;transition:color .2s ease}.schema-reorder-btn:hover:not(:disabled){color:var(--vsg-purple)}.schema-reorder-btn:disabled{opacity:.2;cursor:not-allowed}.schema-name-input{flex:1;font-size:12px!important}.schema-type-dropdown{width:120px;flex-shrink:0}.schema-required-btn{background:transparent;border:none;color:#fff3;cursor:pointer;padding:4px;font-size:14px;transition:all .2s ease;border-radius:4px}.schema-required-btn:hover{color:rgba(var(--vsg-gold-rgb),.6)}.schema-required-btn.active{color:var(--vsg-gold)}.schema-options-btn{background:transparent;border:none;color:#fff3;cursor:pointer;padding:4px;font-size:13px;transition:all .2s ease;border-radius:4px}.schema-options-btn:hover{color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.1)}.schema-options-btn.active{color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.15)}.schema-options-editor{padding:.5rem .75rem .75rem;background:#0003;border-top:1px solid rgba(var(--vsg-purple-rgb),.08)}.schema-options-label{font-family:var(--font-primary);font-size:10px;font-weight:400;color:#fff6;text-transform:uppercase;letter-spacing:.3px;display:block;margin-bottom:6px}.schema-options-row{display:flex;gap:.5rem;align-items:center}.schema-options-row .form-input{flex:1;font-size:12px!important}.schema-options-preview{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.schema-option-pill{font-family:var(--font-primary);font-size:10px;font-weight:400;padding:2px 8px;border-radius:10px;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.2);color:#ffffffb3}.schema-key-display{padding:2px .75rem 6px;font-family:var(--font-primary);font-size:9px;color:#fff3}.schema-key-display code{font-family:var(--font-primary);color:rgba(var(--vsg-purple-rgb),.4);font-size:9px}.schema-actions{display:flex;gap:.5rem;margin-top:.75rem}.system-catalog-manager{display:flex;gap:16px;padding:16px;min-height:400px}.catalog-type-list{width:200px;flex-shrink:0;display:flex;flex-direction:column;gap:4px}.catalog-section-title{font-family:var(--font-primary);font-size:14px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.7);text-transform:uppercase;letter-spacing:1px;margin:0 0 12px;padding:0 8px}.catalog-type-item{display:flex;align-items:center;border-radius:6px;transition:all .2s ease}.catalog-type-item:hover{background:rgba(var(--vsg-purple-rgb),.08)}.catalog-type-item.active{background:rgba(var(--vsg-purple-rgb),.12)}.catalog-type-btn{flex:1;background:transparent;border:none;padding:10px 12px;color:#ffffff80;font-family:var(--font-primary);font-size:14px;font-weight:400;cursor:pointer;text-align:left;display:flex;align-items:center;gap:8px}.catalog-type-item:hover .catalog-type-btn{color:#fffc}.catalog-type-item.active .catalog-type-btn{color:var(--vsg-purple)}.catalog-entry-count{font-size:11px;color:#ffffff40;background:#ffffff0f;border-radius:10px;padding:1px 7px;min-width:18px;text-align:center}.catalog-add-form{display:flex;flex-direction:column;gap:6px;padding:8px;margin-top:4px}.catalog-add-input{background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:4px;padding:8px 10px;color:#ffffffe6;font-family:var(--font-primary);font-size:13px;font-weight:400;outline:none;transition:border-color .2s ease}.catalog-add-input:focus{border-color:rgba(var(--vsg-purple-rgb),.4)}.catalog-add-actions{display:flex;gap:6px}.catalog-add-btn{background:transparent;border:1px dashed rgba(var(--vsg-purple-rgb),.2);border-radius:6px;padding:10px 12px;color:rgba(var(--vsg-purple-rgb),.5);font-family:var(--font-primary);font-size:13px;font-weight:400;cursor:pointer;text-align:left;transition:all .2s ease;margin-top:4px}.catalog-add-btn:hover{border-color:rgba(var(--vsg-purple-rgb),.4);color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.05)}.catalog-entries-panel{flex:1;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:8px;padding:16px}:where(.system-catalog-manager) .catalog-entries-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.catalog-entries-title{font-family:var(--font-primary);font-size:16px;font-weight:400;color:var(--vsg-purple);margin:0;text-transform:capitalize}.catalog-fieldkey-row{padding:10px 12px;margin-bottom:12px;background:#0003;border:1px solid rgba(var(--vsg-purple-rgb),.1);border-radius:6px}.catalog-fieldkey-label{font-family:var(--font-primary);font-size:11px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.6);text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:6px}.catalog-fieldkey-input-row{display:flex;gap:8px;align-items:center}.catalog-fieldkey-input{flex:1;font-family:var(--font-primary);font-size:13px!important;letter-spacing:.3px}.catalog-fieldkey-hint{font-family:var(--font-primary);font-size:11px;font-weight:400;color:#ffffff4d;margin:6px 0 0;line-height:1.4}.catalog-entries-list{display:flex;flex-direction:column;gap:6px}.catalog-entry-category{font-family:var(--font-primary);font-size:11px;font-weight:400;color:rgba(var(--vsg-purple-rgb),.6);margin-left:8px;text-transform:uppercase;letter-spacing:.5px}.catalog-entry-desc{font-family:var(--font-primary);font-size:12px;font-weight:400;color:#fff6;margin:4px 0 0;line-height:1.4}.entry-action-btn{background:transparent;border:none;color:#ffffff4d;cursor:pointer;padding:4px 6px;font-size:14px;border-radius:4px;transition:all .2s ease}.entry-action-btn:hover{color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.1)}.entry-action-btn.danger:hover{color:var(--vsg-magenta);background:rgba(var(--vsg-magenta-rgb),.1)}.system-progression-manager{display:flex;flex-direction:column;gap:16px;padding:16px}.progression-section{background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;overflow:hidden}.progression-section-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;cursor:pointer;transition:background .2s ease}.progression-section-header:hover{background:rgba(var(--vsg-purple-rgb),.05)}.progression-section-title{font-family:var(--font-primary);font-size:16px;font-weight:400;color:var(--vsg-purple);margin:0;letter-spacing:.5px}.progression-section-content{padding:0 20px 20px}.progression-section-desc{font-family:var(--font-primary);font-size:12px;font-weight:400;color:#fff6;margin:0 0 12px;line-height:1.5}.progression-save-bar{display:flex;justify-content:flex-end;margin-top:12px}.system-mechanics-tab{display:flex;flex-direction:column;min-height:400px}.system-used-tab{display:flex;flex-direction:column;gap:16px;padding:16px;min-height:400px}.used-loading{display:flex;align-items:center;justify-content:center;min-height:300px}.system-rules-tab{display:flex;flex-direction:column;gap:16px;padding:16px;min-height:400px}.rules-loading{display:flex;align-items:center;justify-content:center;min-height:300px}.rules-list{display:flex;flex-direction:column;gap:8px}.rule-expand-icon{color:rgba(var(--vsg-purple-rgb),.5);font-size:11px;flex-shrink:0;width:16px}.rule-title{font-family:var(--font-primary);font-size:15px;font-weight:400;color:var(--vsg-purple);margin:0;flex:1}.rule-creator-badge{font-family:var(--font-primary);font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:1px;color:var(--vsg-purple);background:rgba(var(--vsg-purple-rgb),.15);padding:2px 8px;border-radius:4px;flex-shrink:0}.rule-text{font-family:var(--font-primary);font-size:14px;line-height:1.7;color:#fffc;margin:0;white-space:pre-wrap}.checkbox-grid-config{display:flex;flex-direction:column;gap:1.5rem;padding:1rem}.config-section{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background-color:var(--background-secondary, rgba(255, 255, 255, .96));border-radius:6px;border:1px solid var(--border-color, rgba(255, 255, 255, .88))}:where(.checkbox-grid-config) .config-section h6{margin:0;font-size:.9rem;font-weight:400;color:var(--text-primary, rgba(255, 255, 255, .9))}:where(.checkbox-grid-config) .config-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}:where(.checkbox-grid-config) .config-section-header h6{margin:0}.config-row{display:flex;align-items:center;gap:.5rem}.config-row label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-secondary, rgba(255, 255, 255, .4));cursor:pointer}.config-select{padding:.4rem .6rem;border:1px solid var(--border-color, rgba(255, 255, 255, .8));border-radius:4px;background-color:var(--background-primary, #fff);color:var(--text-primary, rgba(255, 255, 255, .9));font-size:.9rem;cursor:pointer;margin-left:.5rem}.config-select:hover{border-color:var(--border-hover, rgba(255, 255, 255, .6))}.config-select:focus{outline:none;border-color:var(--primary-color, var(--vsg-info));box-shadow:0 0 0 2px rgba(var(--vsg-info-rgb),.1)}.grid-items-list{display:flex;flex-direction:column;gap:.75rem}.grid-item{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background-color:var(--background-primary, #fff);border:1px solid var(--border-color, rgba(255, 255, 255, .87));border-radius:4px;transition:border-color .2s}.grid-item:hover{border-color:var(--border-hover, rgba(255, 255, 255, .67))}.grid-item-controls{display:flex;gap:.5rem;justify-content:flex-start}:where(.checkbox-grid-config) .btn-icon-sm:disabled{opacity:.4;cursor:not-allowed}.grid-item-inputs{display:flex;gap:.5rem;flex-wrap:wrap}.grid-item-input{flex:1;min-width:120px;padding:.5rem;border:1px solid var(--border-color, rgba(255, 255, 255, .8));border-radius:4px;background-color:var(--background-primary, #fff);color:var(--text-primary, rgba(255, 255, 255, .9));font-size:.9rem;transition:border-color .2s}.grid-item-input:focus{outline:none;border-color:var(--primary-color, var(--vsg-info));box-shadow:0 0 0 2px rgba(var(--vsg-info-rgb),.1)}.grid-item-input::placeholder{color:var(--text-placeholder, rgba(255, 255, 255, .6))}.grid-item-input-short{flex:0 0 100px;min-width:100px}@media (prefers-color-scheme: dark){.checkbox-grid-config{--background-primary: rgba(0, 0, 0, .5);--background-secondary: rgba(0, 0, 0, .3);--background-hover: rgba(var(--vsg-purple-rgb), .08);--border-color: rgba(var(--vsg-purple-rgb), .2);--border-hover: rgba(var(--vsg-purple-rgb), .4);--text-primary: rgba(255, 255, 255, .9);--text-secondary: rgba(255, 255, 255, .6);--text-placeholder: rgba(var(--vsg-purple-rgb), .4);--danger-background: rgba(var(--vsg-magenta-rgb), .1);--danger-border: rgba(var(--vsg-magenta-rgb), .3);--danger-hover: rgba(var(--vsg-magenta-rgb), .15);--danger-border-hover: rgba(var(--vsg-magenta-rgb), .5);--danger-color: var(--vsg-magenta)}}.compound-config{display:flex;flex-direction:column;gap:.75rem}.compound-config-layout{padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.08)}.compound-config-layout .config-row{display:flex;gap:1rem}.compound-config-side{padding:.6rem;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:#00000026}.compound-side-title{margin:0 0 .5rem;font-size:.8rem;font-weight:400;letter-spacing:.5px;text-transform:uppercase;color:#fff9}.compound-type-select{min-width:120px}.config-input-narrow{max-width:80px}.compound-options-editor{display:flex;flex-direction:column;gap:.4rem;margin-top:.25rem}.compound-options-label{font-size:.8rem;color:#fff9;margin-bottom:.1rem}.compound-option-row{display:flex;align-items:center;gap:.4rem}.compound-option-row .config-input{flex:1}.compound-config-repeating{padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.08)}.compound-max-instances{margin-top:.4rem;padding-left:1.5rem}.compound-max-instances .config-hint{font-size:.75rem;color:#ffffff73;margin-top:.2rem}.catalog-manager{font-family:var(--font-primary)}.catalog-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.catalog-manager-header h5{margin:0;font-size:.9rem}.catalog-list{margin-bottom:.75rem}.catalog-list-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#0003;border:1px solid rgba(var(--vsg-purple-rgb),.1);border-radius:4px;margin-bottom:.25rem;cursor:pointer;transition:all .2s ease}.catalog-list-item:hover{background:#0000004d}.catalog-list-item.selected{border-color:rgba(var(--vsg-purple-rgb),.4);background:rgba(var(--vsg-purple-rgb),.05)}.catalog-list-info{display:flex;align-items:center;gap:.75rem}.catalog-list-name{font-weight:400;font-size:.85rem}.catalog-list-field{font-family:var(--font-primary);font-size:.7rem;opacity:.5}.catalog-list-count{font-size:.7rem;opacity:.4}.catalog-empty{text-align:center;padding:1rem;opacity:.4;font-size:.8rem}.catalog-create-form{display:flex;gap:.5rem;padding:.5rem;background:#0003;border-radius:4px;margin-bottom:.75rem;flex-wrap:wrap}.catalog-entries-section{border-top:1px solid rgba(var(--vsg-purple-rgb),.15);padding-top:.75rem;margin-top:.75rem}.catalog-entries-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.catalog-entries-header h6{margin:0}.catalog-entry-list{margin-bottom:.5rem}.catalog-entry-row{display:flex;justify-content:space-between;align-items:center;padding:.4rem .5rem;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.05)}.catalog-entry-row:nth-child(odd){background:#0003}.catalog-entry-row:nth-child(2n){background:#0000004d}.catalog-entry-cat,.catalog-entry-rar{font-size:.65rem;opacity:.5}.catalog-entry-fx{font-size:.65rem;color:rgba(var(--vsg-gold-rgb),.7)}.catalog-edit-btn{background:none;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:3px;padding:.15rem .4rem;color:rgba(var(--vsg-purple-rgb),.7);font-size:.7rem;cursor:pointer;transition:all .2s ease}.catalog-edit-btn:hover{border-color:rgba(var(--vsg-purple-rgb),.5);color:rgba(var(--vsg-purple-rgb),1)}.catalog-effects-section{margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(var(--vsg-purple-rgb),.1)}.catalog-effects-section h6{margin:0 0 .35rem;font-size:.8rem}.catalog-effect-row{display:flex;gap:.35rem;align-items:center;margin-bottom:.25rem}:where(.catalog-manager) .catalog-form-actions{display:flex;gap:.5rem;margin-top:.5rem}:where(.catalog-manager) .config-cancel-btn{background:none;border:1px solid rgba(255,255,255,.2);border-radius:4px;padding:.3rem .75rem;color:#ffffff80;font-family:inherit;font-size:.8rem;cursor:pointer;transition:all .2s ease}:where(.catalog-manager) .config-cancel-btn:hover{border-color:#fff6;color:#fffc}.catalog-bulk-import{background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:6px;padding:.75rem;margin-bottom:.75rem}.catalog-bulk-import h6{margin:0 0 .35rem}.bulk-import-textarea{font-family:var(--font-primary)!important;font-size:.75rem!important;width:100%;background:#00000080!important}.bulk-import-error{color:var(--color-danger, var(--vsg-error));font-size:.8rem;margin-top:.35rem}.bulk-import-preview{font-size:.8rem;margin-top:.35rem;padding:.5rem;background:#0003;border-radius:4px}.bulk-import-preview strong{color:rgba(var(--vsg-gold-rgb),.8)}.bulk-import-preview ul{margin:.25rem 0 0;padding-left:1.25rem}.bulk-import-preview li{font-size:.75rem;opacity:.7}.record-column-list{margin-bottom:.5rem}.record-column-item{border:1px solid rgba(var(--vsg-purple-rgb),.1);border-radius:4px;margin-bottom:.25rem;overflow:hidden}.record-column-summary{display:flex;justify-content:space-between;align-items:center;padding:.4rem .6rem;background:#0003;cursor:pointer;transition:all .2s ease}.record-column-summary:hover{background:#0000004d}.record-column-info{display:flex;align-items:center;gap:.5rem}.record-column-name{font-weight:400;font-size:.85rem}.record-column-type{font-size:.7rem;opacity:.5;font-family:var(--font-primary)}.record-column-width{font-size:.65rem;opacity:.4}.record-column-actions{display:flex;gap:.2rem}.col-move-btn{background:none;border:none;color:#ffffff4d;cursor:pointer;padding:.1rem .3rem;font-size:.65rem;transition:all .2s ease}.col-move-btn:hover{color:#ffffffb3}.variants-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.5rem}.variant-item{background:rgba(var(--vsg-purple-rgb),.03);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:6px;overflow:hidden}.variant-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .65rem;background:rgba(var(--vsg-purple-rgb),.02);cursor:pointer}.variant-header:hover{background:rgba(var(--vsg-purple-rgb),.06)}.variant-toggle{transition:transform .2s;font-size:.8rem;color:rgba(var(--vsg-purple-rgb),.7)}.variant-toggle.expanded{transform:rotate(90deg)}.variant-label{font-family:var(--font-primary);font-size:.8rem;color:rgba(var(--vsg-purple-rgb),.8);font-weight:400;white-space:nowrap}.variant-condition-preview{flex:1;font-family:var(--font-primary);font-size:.8rem;color:rgba(var(--vsg-purple-rgb),.5);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.variant-actions{display:flex;align-items:center;gap:.25rem;margin-left:auto}.variant-move-btn{background:none;border:none;color:rgba(var(--vsg-purple-rgb),.5);cursor:pointer;padding:.15rem .3rem;font-size:.65rem;line-height:1;border-radius:3px}.variant-move-btn:hover{color:rgba(var(--vsg-purple-rgb),.9);background:rgba(var(--vsg-purple-rgb),.1)}.variant-delete-btn{cursor:pointer;color:rgba(var(--vsg-purple-rgb),.5);transition:color .2s}.variant-delete-btn:hover{color:var(--vsg-magenta)}.variant-content{padding:.75rem;display:flex;flex-direction:column;gap:.75rem;border-top:1px solid rgba(var(--vsg-purple-rgb),.15)}.variant-field{display:flex;flex-direction:column;gap:.25rem}.variant-field-label{font-family:var(--font-primary);font-size:.75rem;color:rgba(var(--vsg-purple-rgb),.8);letter-spacing:.03em}.variant-toggle-section{display:flex;flex-direction:column;gap:.35rem}.field-config-panel{display:flex;flex-direction:column;gap:1.25rem}:where(.field-config-panel) .config-section{display:flex;flex-direction:column;gap:.75rem}:where(.field-config-panel) .config-section h6{margin:0 0 .5rem;font-family:var(--font-primary);font-size:.85rem;font-weight:400;color:var(--vsg-purple);text-transform:uppercase;letter-spacing:1px}:where(.field-config-panel) .config-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}:where(.field-config-panel) .config-section-header h6{margin:0}:where(.field-config-panel) .config-row{display:grid;grid-template-columns:1fr;gap:.75rem}:where(.field-config-panel) .config-row label{display:flex;flex-direction:column;gap:.35rem;font-size:.8rem;color:rgba(var(--vsg-purple-rgb),.8);font-weight:400}:where(.field-config-panel) .config-select,.config-textarea{width:100%;padding:.5rem .65rem;background:var(--bg-tertiary, var(--vsg-surface));border:1px solid var(--border-color, rgba(var(--vsg-purple-rgb), .2));border-radius:4px;color:var(--text-primary, rgba(255, 255, 255, .88));font-size:.85rem;font-family:inherit;transition:border-color .2s}:where(.field-config-panel) .config-select:focus,.config-textarea:focus{outline:none;border-color:var(--vsg-purple)}.config-textarea{resize:vertical;min-height:60px}.config-color{width:60px;height:36px;padding:.25rem;background:var(--bg-tertiary, var(--vsg-surface));border:1px solid var(--border-color, rgba(var(--vsg-purple-rgb), .2));border-radius:4px;cursor:pointer}.config-color::-webkit-color-swatch-wrapper{padding:0}.config-color::-webkit-color-swatch{border:none;border-radius:2px}:where(.field-config-panel) .config-checkboxes{display:flex;flex-direction:row;gap:1rem}.field-config-panel .checkbox-label{display:flex;flex-direction:row!important;align-items:center;justify-content:space-between;gap:.75rem!important;cursor:pointer;padding:.5rem .75rem;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:4px;transition:border-color .2s}.field-config-panel .checkbox-label:hover{border-color:rgba(var(--vsg-purple-rgb),.4)}.options-list{display:flex;flex-direction:column;gap:.75rem}.option-item{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:#0003;border:1px solid var(--border-color, rgba(var(--vsg-purple-rgb), .2));border-radius:4px}.option-inputs{display:grid;grid-template-columns:1fr 1fr auto;gap:.5rem;align-items:center}.option-input{padding:.4rem .6rem;background:var(--bg-tertiary, var(--vsg-surface));border:1px solid var(--border-color, rgba(var(--vsg-purple-rgb), .2));border-radius:4px;color:var(--text-primary, rgba(255, 255, 255, .88));font-size:.8rem;transition:border-color .2s}.option-input:focus{outline:none;border-color:var(--vsg-purple)}@media (max-width: 600px){:where(.field-config-panel) .config-checkboxes{flex-direction:column;gap:.5rem}.option-inputs{grid-template-columns:1fr}}@media (min-width: 600px){:where(.field-config-panel) .config-row:has(label:nth-child(2)),:where(.field-config-panel) .config-row:has(label:nth-child(3)){grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}.field-editor{display:flex;flex-direction:column;gap:.75rem}.field-editor-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.field-editor-header h5{margin:0;font-family:var(--font-primary);font-size:.95rem;font-weight:400;color:var(--vsg-purple);text-transform:uppercase;letter-spacing:1px}.field-count{font-size:.8rem;color:rgba(var(--vsg-purple-rgb),.7)}.field-editor-empty{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem;text-align:center;background:rgba(var(--vsg-purple-rgb),.05);border:1px dashed rgba(var(--vsg-purple-rgb),.3);border-radius:6px}.field-editor-empty p{font-family:var(--font-primary);color:rgba(var(--vsg-purple-rgb),.8);font-size:.9rem;letter-spacing:.5px;margin:0}.fields-list{display:flex;flex-direction:column;gap:.5rem}.field-item{background:rgba(var(--vsg-purple-rgb),.03);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:4px;overflow:hidden}.field-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .65rem;background:rgba(var(--vsg-purple-rgb),.02);border-bottom:1px solid transparent;transition:border-color .2s}.field-item:hover .field-header{border-bottom-color:rgba(var(--vsg-purple-rgb),.2)}.field-toggle{background:none;border:none;color:rgba(var(--vsg-purple-rgb),.6);cursor:pointer;padding:.15rem;display:flex;align-items:center;justify-content:center;transition:color .2s}.field-toggle:hover{color:var(--vsg-purple)}.field-type-icon{font-size:.95rem;opacity:.8}.field-name{font-size:.85rem;font-weight:400;color:#ffffffe6}.field-key{font-size:.75rem;color:rgba(var(--vsg-purple-rgb),.6);font-family:var(--font-primary)}.field-badge{padding:.15rem .4rem;border-radius:3px;font-size:.7rem;font-weight:400;text-transform:uppercase}.field-badge.required{background:rgba(var(--vsg-error-rgb),.15);color:var(--vsg-magenta)}.field-badge.readonly{background:#ffffff1a;color:#ffffffd4}.field-item .show-title-toggle{display:flex;align-items:center;gap:8px;margin-left:.75rem;padding-left:.75rem;border-left:1px solid rgba(var(--vsg-purple-rgb),.2)}.field-item .show-title-label{font-size:.7rem;color:rgba(var(--vsg-purple-rgb),.7);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;cursor:pointer;margin:0}.field-actions{display:flex;gap:.25rem;margin-left:auto}.field-config{padding:.75rem;background:#0003}.btn-add-field{padding:.5rem 1rem;background:transparent;border:1px dashed rgba(var(--vsg-purple-rgb),.3);border-radius:4px;color:rgba(var(--vsg-purple-rgb),.6);font-size:.85rem;cursor:pointer;transition:all .2s}.btn-add-field:hover{background:rgba(var(--vsg-purple-rgb),.05);border-color:var(--vsg-purple);color:var(--vsg-purple)}:where(.field-editor) .modal-content{background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;max-width:600px;width:100%;max-height:calc(80 * var(--vh-fit));overflow-y:auto;box-shadow:0 20px 60px #00000080}:where(.field-editor) .modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}:where(.field-editor) .modal-header h3{margin:0;font-size:1.1rem;font-weight:400;color:var(--vsg-purple)}.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:rgba(var(--vsg-purple-rgb),.6);font-size:1.3rem;cursor:pointer;border-radius:4px;transition:all .2s}.modal-close:hover{background:rgba(var(--vsg-purple-rgb),.1);color:var(--vsg-purple)}.add-field-modal{max-width:450px}:where(.field-editor) .modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}:where(.field-editor) .modal-body .form-group{display:flex;flex-direction:column;gap:.5rem}:where(.field-editor) .modal-body .form-group label{font-family:var(--font-primary);font-size:.85rem;font-weight:400;color:var(--vsg-purple);text-transform:uppercase;letter-spacing:.5px}.field-name-input{padding:.65rem .85rem;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:4px;color:#ffffffe6;font-size:.9rem;font-family:inherit;transition:border-color .2s}.field-name-input:focus{outline:none;border-color:var(--vsg-purple)}.field-name-input::placeholder{color:rgba(var(--vsg-purple-rgb),.4)}.field-type-select{padding:.65rem .85rem;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:4px;color:#ffffffe6;font-size:.9rem;font-family:inherit;cursor:pointer;transition:border-color .2s}.field-type-select:focus{outline:none;border-color:var(--vsg-purple)}.field-type-select option{background:#000000f2;color:#ffffffe6}:where(.field-editor) .modal-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:.5rem;border-top:1px solid rgba(var(--vsg-purple-rgb),.2)}@media (max-width: 600px){.field-header{flex-wrap:wrap}.field-type-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.6rem;padding:1rem}.field-type-option{padding:.75rem .5rem}}.column-grid-config{background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:8px;padding:1rem;margin-bottom:1rem}.column-grid-config__title{font-size:.9rem;font-weight:400;color:var(--vsg-purple);margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.05em}.column-grid-config__row{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.column-grid-config__label{font-size:.85rem;color:#fffc;min-width:120px;flex-shrink:0}.column-grid-config__dropdown{flex:1;min-width:0}.column-grid-config__input{flex:1;min-width:0;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;padding:.5rem .75rem;color:#ffffffe6;font-size:.9rem;font-family:var(--font-primary),inherit;transition:border-color .2s}.column-grid-config__input:focus{outline:none;border-color:rgba(var(--vsg-purple-rgb),.6)}.column-grid-config__input--small{flex:0 0 80px}.column-grid-config__input--invalid{border-color:var(--vsg-magenta)}.column-grid-config__unit{font-size:.85rem;color:#ffffff80}.column-grid-config__preview{margin-top:1rem;padding-top:.75rem;border-top:1px solid rgba(var(--vsg-purple-rgb),.15)}.column-grid-config__preview-label{font-size:.75rem;color:#ffffff80;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.column-grid-config__preview-grid{width:100%;min-height:36px;background:#0003;border:1px dashed rgba(var(--vsg-purple-rgb),.2);border-radius:4px;padding:4px}.column-grid-config__preview-track{background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.25);border-radius:3px;padding:.35rem .5rem;display:flex;align-items:center;justify-content:center;min-height:28px}.column-grid-config__preview-track-label{font-size:.7rem;color:rgba(var(--vsg-purple-rgb),.8);font-family:var(--font-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.column-editor{display:flex;flex-direction:column;gap:1rem}.column-editor-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.column-editor-header h4{margin:0;font-family:var(--font-primary);font-size:1rem;font-weight:400;color:var(--vsg-purple);text-transform:uppercase;letter-spacing:1px}.column-count{font-size:.85rem;color:rgba(var(--vsg-purple-rgb),.7)}.column-editor-empty{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2rem;text-align:center;background:rgba(var(--vsg-purple-rgb),.05);border:1px dashed rgba(var(--vsg-purple-rgb),.3);border-radius:6px}.column-editor-empty p{font-family:var(--font-primary);color:rgba(var(--vsg-purple-rgb),.8);font-size:.95rem;letter-spacing:.5px}.columns-grid{display:flex;flex-direction:column;gap:.75rem}.column-item{background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:6px;overflow:hidden}.column-toggle{background:none;border:none;color:rgba(var(--vsg-purple-rgb),.7);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:color .2s}.column-toggle:hover{color:var(--vsg-purple)}.column-title-input{flex:1;padding:.4rem .6rem;background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:4px;color:#ffffffe6;font-family:var(--font-primary);font-size:.9rem;transition:all .3s}.column-title-input:focus{outline:none;border-color:var(--vsg-purple);background:#00000080;box-shadow:0 0 0 2px rgba(var(--vsg-purple-rgb),.1)}.column-item .show-title-toggle{display:flex;align-items:center;gap:10px;margin-left:.75rem;padding-left:.75rem;border-left:1px solid rgba(var(--vsg-purple-rgb),.2)}.column-item .show-title-label{font-family:var(--font-primary);font-size:.75rem;color:rgba(var(--vsg-purple-rgb),.8);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;cursor:pointer;margin:0}.column-actions{display:flex;gap:.35rem}:where(.column-editor) .btn-icon-sm{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;color:rgba(var(--vsg-purple-rgb),.7);cursor:pointer;transition:all .2s;font-size:.85rem}:where(.column-editor) .btn-icon-sm:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.2);color:var(--vsg-purple);border-color:rgba(var(--vsg-purple-rgb),.5)}:where(.column-editor) .btn-icon-sm:disabled{opacity:.3;cursor:not-allowed}:where(.column-editor) .btn-icon-sm.btn-delete:hover:not(:disabled){background:rgba(var(--vsg-magenta-rgb),.15);border-color:rgba(var(--vsg-magenta-rgb),.4);color:var(--vsg-magenta)}.column-options{padding:.75rem;background:#ffffff05;border-bottom:1px solid var(--border-color, rgba(var(--vsg-purple-rgb), .2))}.column-options label{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary, rgba(255, 255, 255, .63))}.width-input{width:80px;padding:.35rem .5rem;background:var(--bg-tertiary, var(--vsg-surface));border:1px solid var(--border-color, rgba(var(--vsg-purple-rgb), .2));border-radius:4px;color:var(--text-primary, rgba(255, 255, 255, .88));font-size:.85rem}.width-input:focus{outline:none;border-color:var(--primary-color, var(--vsg-info))}.column-content{padding:.75rem}.btn-add-column{padding:.65rem 1.25rem;background:var(--bg-tertiary, var(--vsg-surface));border:1px dashed var(--border-color, rgba(var(--vsg-purple-rgb), .2));border-radius:6px;color:var(--text-secondary, rgba(255, 255, 255, .63));font-size:.9rem;cursor:pointer;transition:all .2s}.btn-add-column:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:var(--primary-color, var(--vsg-info));color:var(--primary-color, var(--vsg-info))}@media (max-width: 600px){.column-title-input{min-width:0}}.section-editor{display:flex;flex-direction:column;gap:1rem}.section-editor-empty{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem;text-align:center}.section-editor-empty p{font-family:var(--font-primary);color:rgba(var(--vsg-purple-rgb),.8);font-size:1.1rem;letter-spacing:.5px}.section-editor-item{display:flex;flex-direction:column;width:100%;background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.section-title-input{flex:1;padding:.5rem;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:6px;color:#ffffffe6;font-family:var(--font-primary);font-size:1rem;font-weight:400;text-align:left;transition:all .3s}.section-title-input:focus{outline:none;border-color:var(--vsg-purple);background:#0009;box-shadow:0 0 0 3px rgba(var(--vsg-purple-rgb),.1)}:where(.section-editor) .show-title-toggle{display:flex;align-items:center;gap:12px;margin-left:1rem;padding-left:1rem;border-left:1px solid rgba(var(--vsg-purple-rgb),.3)}:where(.section-editor) .show-title-label{font-family:var(--font-primary);font-size:.85rem;color:rgba(var(--vsg-purple-rgb),.9);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;cursor:pointer;margin:0}.section-actions{display:flex;gap:.5rem}:where(.section-editor) .btn-icon:disabled{cursor:not-allowed}.section-options{display:flex;gap:1.5rem;padding:.75rem 1rem;background:rgba(var(--vsg-purple-rgb),.05);border-bottom:1px solid rgba(var(--vsg-purple-rgb),.3)}.section-content{padding:1rem;width:100%}.section-visible-when{padding:0 1rem .75rem;display:flex;flex-direction:column;gap:.35rem}.btn-add-section{padding:.75rem 1.5rem;background:var(--bg-tertiary, var(--vsg-surface));border:2px dashed var(--border-color, rgba(var(--vsg-purple-rgb), .2));border-radius:6px;color:var(--text-secondary, rgba(255, 255, 255, .63));font-size:.95rem;cursor:pointer;transition:all .2s}.btn-add-section:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:var(--primary-color, var(--vsg-info));color:var(--primary-color, var(--vsg-info))}@media (max-width: 600px){.section-title-input{min-width:0}.section-options{flex-direction:column;gap:.75rem}}.section-manager{background:rgba(var(--vsg-surface-rgb),.6);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.section-manager-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(var(--vsg-purple-rgb),.2)}.section-manager-header h3{margin:0;font-family:var(--font-primary);font-size:1.1rem;color:var(--vsg-purple);text-transform:uppercase;letter-spacing:1px}.section-count{font-size:.9rem;color:#ffffff80;font-family:var(--font-primary)}.section-manager-empty{text-align:center;padding:3rem 1rem;color:#ffffff80}.section-list{display:flex;flex-direction:column;gap:0}.section-item-left{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.section-item-right{display:flex;align-items:center;justify-content:flex-end;flex-shrink:0}.section-item-index{font-family:var(--font-primary);font-size:.9rem;color:rgba(var(--vsg-purple-rgb),.7);font-weight:400;min-width:40px}.section-item-info{display:flex;align-items:center;gap:.75rem}.section-item-title{font-size:1rem;color:#ffffffe6;font-weight:400}.duplicate-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:rgba(var(--vsg-caution-rgb),.2);border:1px solid rgba(var(--vsg-caution-rgb),.4);border-radius:4px;font-size:.75rem;color:var(--vsg-caution);text-transform:uppercase;letter-spacing:.5px;font-weight:400;animation:duplicatePulse 2s ease-in-out infinite}@keyframes duplicatePulse{0%,to{opacity:1}50%{opacity:.6}}.section-item-stats{display:flex;gap:.5rem}.stat-badge{padding:.25rem .5rem;background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;font-size:.75rem;color:rgba(var(--vsg-purple-rgb),.9);font-family:var(--font-primary)}.section-item-actions{display:flex;gap:.5rem}.section-insert-divider{position:relative;height:1px;background:rgba(var(--vsg-purple-rgb),.1);display:flex;align-items:center;justify-content:center}.insert-btn{position:relative;padding:.35rem .75rem;background:rgba(var(--vsg-surface-rgb),.9);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;color:rgba(var(--vsg-purple-rgb),.7);font-size:.75rem;font-weight:400;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .2s ease;opacity:0}.section-insert-divider:hover .insert-btn{opacity:1}.insert-btn:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.2);border-color:var(--vsg-purple);color:var(--vsg-purple);transform:scale(1.05)}.insert-btn:disabled{opacity:.3;cursor:not-allowed}.section-manager-actions{display:flex;justify-content:center;padding:2rem 0}@media (max-width: 600px){.section-item-header{flex-wrap:wrap;gap:.5rem}.section-item-stats{width:100%;justify-content:flex-start;margin-left:40px}.section-item-actions{margin-left:.5rem}}.version-manager{padding:2rem;background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.version-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.version-manager-header h3{margin:0;font-family:var(--font-primary);font-size:1.3rem;font-weight:400;color:var(--vsg-purple);text-transform:uppercase;letter-spacing:1px}.version-manager-empty,.version-empty{padding:2rem;text-align:center;color:#ffffff80}.version-empty small{display:block;margin-top:.5rem;font-size:.85rem;color:#fff6}.version-error{padding:1rem;margin-bottom:1rem;background:rgba(var(--vsg-error-rgb),.1);border:1px solid rgba(var(--vsg-error-rgb),.3);border-radius:6px;color:var(--vsg-magenta);display:flex;align-items:center;gap:.75rem}.version-error .error-icon{font-size:1.2rem}.version-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem}.version-loading p{font-family:var(--font-primary);color:rgba(var(--vsg-purple-rgb),.8);font-size:1rem}.version-form{padding:2rem;margin-bottom:1.5rem;background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.version-form h4{margin:0 0 1.5rem;font-family:var(--font-primary);font-size:1.1rem;font-weight:400;color:var(--vsg-purple);text-transform:uppercase;letter-spacing:1px}:where(.version-manager,.version-manager-empty) .form-group{margin-bottom:1.5rem}:where(.version-manager,.version-manager-empty) .form-group label{display:block;margin-bottom:.75rem;font-family:var(--font-primary);font-weight:400;font-size:.95rem;color:var(--vsg-purple);text-transform:uppercase;letter-spacing:1px}:where(.version-manager,.version-manager-empty) .form-input,:where(.version-manager,.version-manager-empty) .form-textarea{width:100%;padding:.875rem 1rem;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:#ffffffe6;font-size:.95rem;font-family:inherit;transition:all .3s}:where(.version-manager,.version-manager-empty) .form-input::placeholder,:where(.version-manager,.version-manager-empty) .form-textarea::placeholder{color:#fff6}:where(.version-manager,.version-manager-empty) .form-input:focus,:where(.version-manager,.version-manager-empty) .form-textarea:focus{outline:none;border-color:var(--vsg-purple);background:#0009;box-shadow:0 0 0 3px rgba(var(--vsg-purple-rgb),.1)}:where(.version-manager,.version-manager-empty) .form-textarea{resize:vertical}.checkbox-field-content{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1rem;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px}.checkbox-field-text{flex:1}.checkbox-field .checkbox-label{display:block;margin-bottom:0;font-family:var(--font-primary);font-weight:400;font-size:.95rem;color:var(--vsg-purple);text-transform:uppercase;letter-spacing:1px}:where(.version-manager) .form-actions{display:flex;flex-direction:column;align-items:stretch;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid rgba(var(--vsg-purple-rgb),.3)}.version-list{display:flex;flex-direction:column;gap:1rem}.version-item{padding:1.5rem;background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;transition:all .3s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.version-item:hover{border-color:rgba(var(--vsg-purple-rgb),.6);box-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.1)}.version-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.version-item-title{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.version-item-title h4{margin:0;font-family:var(--font-primary);font-size:1.1rem;font-weight:400;color:#ffffffe6}.version-badge-default{padding:.25rem .625rem;background:rgba(var(--vsg-success-rgb),.15);color:var(--vsg-success);border:1px solid rgba(var(--vsg-success-rgb),.23);border-radius:4px;font-size:.7rem;font-weight:400;text-transform:uppercase;letter-spacing:.05em}.version-order{padding:.25rem .625rem;background:rgba(var(--vsg-purple-rgb),.2);color:var(--vsg-purple);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:4px;font-size:.7rem;font-weight:400}.version-item-actions{display:flex;gap:.5rem}.version-item-description{margin:.75rem 0;font-size:.9rem;color:#fff9;line-height:1.6}.version-item-meta{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(var(--vsg-purple-rgb),.2)}.version-item-meta small{font-size:.75rem;color:#fff6}.diff-preview-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.diff-preview-modal-content{position:relative;background:var(--chromatic-bg-elevated, rgba(var(--vsg-surface-rgb), .95));border:1px solid var(--chromatic-purple-border, rgba(var(--vsg-purple-rgb), .3));border-radius:8px;padding:2rem 1.5rem 1.5rem;max-width:640px;width:100%;max-height:calc(80 * var(--vh-fit));overflow-y:auto;box-shadow:0 0 24px var(--chromatic-purple-glow, rgba(var(--vsg-purple-rgb), .15))}.diff-preview-title{margin:0 0 .5rem;font-size:1.2rem;color:var(--chromatic-text-primary, rgba(255, 255, 255, .95));font-weight:400}.diff-preview-summary{margin:0 0 1rem;color:var(--chromatic-text-secondary, rgba(255, 255, 255, .7));font-size:.9rem}.diff-preview-empty{margin:1rem 0;color:var(--chromatic-text-secondary, rgba(255, 255, 255, .7));font-style:normal;text-align:center}.diff-preview-op-list{list-style:none;margin:0 0 1.5rem;padding:0;border:1px solid var(--chromatic-purple-border-faint, rgba(var(--vsg-purple-rgb), .15));border-radius:4px;overflow:hidden}.diff-preview-op-row{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border-bottom:1px solid var(--chromatic-purple-border-faint, rgba(var(--vsg-purple-rgb), .1));font-size:.9rem;font-family:var(--font-primary)}.diff-preview-op-row:last-child{border-bottom:none}.diff-preview-op-added{background:var(--chromatic-green-tint, rgba(var(--vsg-success-rgb), .05))}.diff-preview-op-removed{background:var(--chromatic-red-tint, rgba(var(--vsg-error-rgb), .08))}.diff-preview-op-modified{background:var(--chromatic-amber-tint, rgba(var(--vsg-gold-rgb), .08))}.diff-preview-op-reordered{background:var(--chromatic-purple-tint, rgba(var(--vsg-purple-rgb), .08))}.diff-preview-op-kind{font-weight:400;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;color:var(--chromatic-purple, var(--vsg-purple));min-width:10rem}.diff-preview-op-target{flex:1;color:var(--chromatic-text-primary, rgba(255, 255, 255, .9));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.diff-preview-op-payload{color:var(--chromatic-text-secondary, rgba(255, 255, 255, .7));font-style:normal}.diff-preview-review-gate{margin:0 0 1rem;padding:.75rem;background:var(--chromatic-purple-tint, rgba(var(--vsg-purple-rgb), .05));border:1px solid var(--chromatic-purple-border-faint, rgba(var(--vsg-purple-rgb), .15));border-radius:4px}.diff-preview-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem}.diff-preview-cancel-btn,.diff-preview-confirm-btn{padding:.6rem 1.25rem;font-size:.95rem;border-radius:6px;cursor:pointer;transition:all .2s ease;font-family:inherit}.diff-preview-cancel-btn{background:transparent;border:1px solid var(--chromatic-purple-border, rgba(var(--vsg-purple-rgb), .3));color:var(--chromatic-text-secondary, rgba(255, 255, 255, .85))}.diff-preview-cancel-btn:hover{background:var(--chromatic-purple-tint, rgba(var(--vsg-purple-rgb), .1));border-color:var(--chromatic-purple, var(--vsg-purple))}.diff-preview-confirm-btn{background:var(--chromatic-purple-tint, rgba(var(--vsg-purple-rgb), .2));border:1px solid var(--chromatic-purple, var(--vsg-purple));color:var(--chromatic-text-primary, rgba(255, 255, 255, .95));font-weight:400}.diff-preview-confirm-btn:hover:not(:disabled){background:var(--chromatic-purple-tint-hover, rgba(var(--vsg-purple-rgb), .3))}.diff-preview-confirm-btn:disabled{opacity:.4;cursor:not-allowed}.sheet-save-impact-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:11500;animation:modalFadeIn .2s ease}.sheet-save-impact-modal{background:rgba(var(--vsg-surface-rgb),.95);border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:12px;padding:24px;max-width:600px;width:90%;max-height:calc(80 * var(--vh-fit));overflow-y:auto;box-shadow:0 8px 32px #00000080;color:#fff}.sheet-save-impact-modal__title{color:var(--vsg-purple);font-size:18px;font-weight:400;margin:0 0 12px}.sheet-save-impact-modal__intro{color:#ffffffc2;font-size:14px;line-height:1.5;margin:0 0 16px}.sheet-save-impact-modal__methods{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.sheet-save-impact-modal__method{background:rgba(var(--vsg-surface-rgb),.5);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;padding:12px 14px}.sheet-save-impact-modal__method-name{color:var(--vsg-purple);font-size:15px;font-weight:400;margin:0 0 8px}.sheet-save-impact-modal__method-count{color:var(--vsg-gold);font-weight:400;margin-left:6px}.sheet-save-impact-modal__items{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.sheet-save-impact-modal__item{display:flex;align-items:center;gap:6px;font-size:13px;line-height:1.5;color:#fff}.sheet-save-impact-modal__item-count{color:var(--vsg-gold);font-weight:400}.sheet-save-impact-modal__footer{display:flex;justify-content:flex-end;gap:8px}.history-version-view{background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;padding:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.history-version-view h3{margin:0 0 1rem;font-family:var(--font-primary);font-size:1.3rem;font-weight:400;color:var(--vsg-purple);text-transform:uppercase;letter-spacing:1px}.history-description{margin:0 0 2rem;font-size:.95rem;color:#ffffffb3;line-height:1.6}.history-snapshots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.snapshot-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.snapshot-header h4{margin:0;font-family:var(--font-primary);font-size:1.1rem;font-weight:400;color:#ffffffe6}.current-badge{padding:.25rem .625rem;background:rgba(var(--vsg-success-rgb),.15);color:var(--vsg-success);border:1px solid rgba(var(--vsg-success-rgb),.23);border-radius:4px;font-size:.7rem;font-weight:400;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.snapshot-description{margin:0;font-size:.9rem;color:#fff9;line-height:1.5}.snapshot-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px solid rgba(var(--vsg-purple-rgb),.2)}.snapshot-date{font-size:.75rem;color:#ffffff80}.revert-hint{font-size:.8rem;color:var(--vsg-purple);font-weight:400;text-transform:uppercase;letter-spacing:.5px}.sheet-designer{display:flex;flex-direction:column;height:calc(100 * var(--vh-fit));width:100%;background:var(--vsg-surface);color:#ffffffe6;position:relative;z-index:100}.sheet-designer-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1.5rem}.sheet-designer-loading p{font-family:var(--font-primary);color:rgba(var(--vsg-purple-rgb),.8);font-size:1.2rem;letter-spacing:.5px}.sheet-designer-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-bottom:2px solid rgba(var(--vsg-purple-rgb),.3);background:rgba(var(--vsg-purple-rgb),.05)}.sheet-designer-title{display:flex;flex-direction:column;align-items:flex-start;gap:0}.title-row{display:flex;align-items:center;gap:.75rem}.sheet-designer-title h2{margin:0;font-family:var(--font-primary);font-size:2rem;color:var(--vsg-purple);text-shadow:0 0 20px rgba(var(--vsg-purple-rgb),.5);letter-spacing:2px}.dirty-indicator{color:#000;font-size:1.5rem;line-height:1;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.familiar-tip{margin:1rem 2rem;padding:.75rem 1rem;font-size:.9rem;line-height:1.5;color:#ffffffb3;background:rgba(var(--vsg-purple-rgb),.08);border-left:3px solid rgba(var(--vsg-purple-rgb),.4);border-radius:4px}.familiar-tip strong{color:var(--vsg-purple);font-weight:400}.sheet-designer-actions{display:flex;gap:.75rem}.sheet-designer-error{display:flex;align-items:center;gap:.75rem;margin:1rem 1.5rem;padding:1rem;background:rgba(var(--vsg-error-rgb),.1);border:1px solid rgba(var(--vsg-error-rgb),.3);border-radius:6px;color:var(--vsg-magenta)}.sheet-designer-content{flex:1;overflow-y:auto;padding:2rem}.sheet-basic-info{background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;padding:2rem;margin-bottom:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sheet-permissions{background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;padding:1.5rem 2rem;margin-top:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sheet-permissions h4{margin:0 0 1.25rem;font-family:var(--font-primary);font-size:1rem;color:var(--vsg-purple);text-transform:uppercase;letter-spacing:1.5px;font-weight:400}.permissions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.permission-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px;transition:all .3s}.permission-item:hover{border-color:rgba(var(--vsg-purple-rgb),.4);background:#0006}.permission-item label{font-family:var(--font-primary);font-size:.9rem;color:#ffffffd9;font-weight:400;letter-spacing:.5px;cursor:pointer}.sheet-availability{background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;padding:1.5rem 2rem;margin-top:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;z-index:100}.sheet-availability h4{margin:0 0 .5rem;font-family:var(--font-primary);font-size:1rem;color:var(--vsg-purple);text-transform:uppercase;letter-spacing:1.5px;font-weight:400}.availability-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;align-items:start}.availability-grid.three-columns{grid-template-columns:repeat(3,1fr)}.availability-item{display:flex;flex-direction:column;gap:.5rem;position:relative}.availability-item label{font-family:var(--font-primary);font-size:.9rem;color:#ffffffd9;font-weight:400;letter-spacing:.5px}.multi-select-container{display:flex;flex-direction:column;gap:.5rem}.selected-items{display:flex;flex-wrap:wrap;gap:.5rem;min-height:32px}.selected-tag{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .75rem;background:rgba(var(--vsg-purple-rgb),.2);border:1px solid rgba(var(--vsg-purple-rgb),.4);border-radius:16px;font-size:.85rem;color:#ffffffe6}.tag-remove{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;margin:0;background:#ffffff1a;border:none;border-radius:50%;color:#ffffffb3;font-size:14px;line-height:1;cursor:pointer;transition:all .2s}.tag-remove:hover{background:rgba(var(--vsg-error-rgb),.3);color:var(--vsg-error)}.loading-text{font-size:.85rem;color:#ffffff80;font-style:normal}.multiselect-dropdown{position:relative}.multiselect-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.75rem 1rem;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;color:#ffffffd9;font-family:var(--font-primary);font-size:.9rem;cursor:pointer;transition:all .2s ease}.multiselect-trigger:hover:not(:disabled){border-color:rgba(var(--vsg-purple-rgb),.5);background:rgba(var(--vsg-purple-rgb),.05)}.multiselect-trigger.open{border-color:var(--vsg-purple);box-shadow:0 0 15px rgba(var(--vsg-purple-rgb),.2)}.multiselect-trigger:disabled{opacity:.5;cursor:not-allowed}.multiselect-value{flex:1;text-align:left}.multiselect-arrow{font-size:.7rem;color:rgba(var(--vsg-purple-rgb),.6);transition:transform .2s ease}.multiselect-trigger.open .multiselect-arrow{transform:rotate(180deg)}.multiselect-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:250px;overflow-y:auto;padding:.5rem;background:#000000f2;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:8px;box-shadow:0 4px 20px rgba(var(--vsg-purple-rgb),.2);z-index:1000;animation:fadeInDown .15s ease}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.multiselect-menu .checkbox-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:4px;cursor:pointer;transition:all .2s ease}.multiselect-menu .checkbox-item:hover{background:rgba(var(--vsg-purple-rgb),.08)}.no-items-text{font-size:.85rem;color:#fff6;font-style:normal;padding:.5rem}:where(.sheet-designer,.sheet-designer-loading) .checkbox-field-content{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1rem;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px}:where(.sheet-designer,.sheet-designer-loading) .checkbox-field-text{flex:1}:where(.sheet-designer,.sheet-designer-loading) .checkbox-field .checkbox-label{display:block;margin-bottom:.5rem;font-family:var(--font-primary);font-weight:400;font-size:.95rem;color:var(--vsg-purple);text-transform:uppercase;letter-spacing:1px}:where(.sheet-designer,.sheet-designer-loading) .checkbox-field .help-text{display:block;margin:0;font-size:.85rem;color:#ffffff80;font-style:normal}.sheet-sections,.sheet-settings{background:#0006;border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;padding:2rem;margin-bottom:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sheet-sections h3,.sheet-settings h3{margin:0 0 1.5rem;font-family:var(--font-primary);font-size:1.3rem;font-weight:400;color:var(--vsg-purple);text-transform:uppercase;letter-spacing:1px}.sheet-designer-footer{position:sticky;bottom:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 2rem;border-top:2px solid rgba(var(--vsg-purple-rgb),.3);background:rgba(var(--vsg-purple-rgb),.05);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 -4px 12px #0000004d}.sheet-designer-footer-left,.sheet-designer-footer-right{display:flex;gap:1rem;flex:1}.sheet-designer-footer-right{justify-content:flex-end}.sheet-designer-footer-center{position:absolute;left:50%;transform:translate(-50%);display:flex;justify-content:center}.btn-secondary{background:var(--bg-tertiary, var(--vsg-surface));color:var(--text-primary, rgba(255, 255, 255, .88));border:1px solid var(--border-color, rgba(var(--vsg-purple-rgb), .2))}.btn-secondary:hover:not(:disabled){background:rgba(var(--vsg-purple-rgb),.1)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.validation-warning{margin:1.5rem 0;padding:1.5rem;background:rgba(var(--vsg-caution-rgb),.1);border:2px solid rgba(var(--vsg-caution-rgb),.4);border-radius:12px;--glow-peak: 0 0 20px rgba(var(--vsg-caution-rgb), .3);--glow-inset: -2px;--glow-border: 2px solid rgba(var(--vsg-caution-rgb), .6);--glow-period: 2s}.warning-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.warning-icon{font-size:1.5rem;animation:warningShake 3s ease-in-out infinite}@keyframes warningShake{0%,to{transform:rotate(0)}10%,30%,50%,70%,90%{transform:rotate(-5deg)}20%,40%,60%,80%{transform:rotate(5deg)}}.warning-header h3{margin:0;font-family:var(--font-primary);font-size:1.2rem;color:var(--vsg-caution);text-transform:uppercase;letter-spacing:1px}.warning-content{margin-left:2.25rem}.warning-content>p{margin:0 0 1rem;color:#fffc;line-height:1.6}.duplicate-warning-item{padding:.75rem;margin:.5rem 0;background:#0000004d;border-left:3px solid var(--vsg-caution);border-radius:4px;font-size:.95rem}.duplicate-warning-item strong{color:var(--vsg-caution);font-weight:400}.duplicate-positions{margin-left:.5rem;color:#ffffff80;font-size:.9rem;font-family:var(--font-primary)}.warning-actions{margin-top:1.25rem;padding-top:1rem;border-top:1px solid rgba(var(--vsg-caution-rgb),.2);display:flex;flex-direction:column;gap:.75rem}.auto-fix-hint{color:#fff9;font-size:.85rem;font-style:normal;line-height:1.4}@media (max-width: 600px){.sheet-designer-header{flex-direction:column;align-items:stretch;gap:1rem}.sheet-designer-actions{justify-content:center}.sheet-designer-content,.sheet-basic-info,.sheet-sections,.sheet-settings,.sheet-permissions{padding:1rem}.permissions-grid{grid-template-columns:1fr}}.sheet-version-display{display:flex;align-items:center;justify-content:space-between;padding:1rem;margin:1rem 0;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px}.sheet-version-info{display:flex;align-items:center;gap:.75rem}.sheet-version-info label{font-weight:400;color:#ffffffe6;font-size:.95rem}.current-version-name{font-weight:400;color:var(--vsg-purple);font-size:1rem;padding:.25rem .75rem;background:rgba(var(--vsg-purple-rgb),.1);border-radius:4px}.current-version-name.editable{cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s ease;border:1px solid transparent}.current-version-name.editable:hover{background:rgba(var(--vsg-purple-rgb),.2);border-color:rgba(var(--vsg-purple-rgb),.5)}.version-name-input{font-size:1rem;font-weight:400;color:var(--vsg-purple);padding:.25rem .75rem;background:rgba(var(--vsg-purple-rgb),.15);border:2px solid var(--vsg-purple);border-radius:4px;outline:none;min-width:150px}.version-name-input:focus{background:rgba(var(--vsg-purple-rgb),.2);box-shadow:0 0 0 3px rgba(var(--vsg-purple-rgb),.2)}.preview-container{display:flex;flex-direction:column;gap:1.5rem}.preview-version-selector{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:8px}.preview-version-selector label{font-weight:400;color:#ffffffe6;font-size:.95rem;white-space:nowrap}:where(.sheet-designer,.sheet-designer-loading) .version-loading{padding:3rem 2rem;text-align:center;color:var(--vsg-purple);font-size:1rem;font-style:normal}.sheet-image-section{margin-top:1.5rem;padding:1.5rem;background:rgba(var(--vsg-purple-rgb),.05);border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;position:relative;z-index:1}.sheet-image-section h4{margin:0 0 1rem;font-family:var(--font-primary);font-size:1.1rem;color:var(--vsg-purple);text-transform:uppercase;letter-spacing:1px}.image-upload-container{position:relative}.image-preview-wrapper{display:flex;flex-direction:column;align-items:center;gap:1rem}.sheet-image-preview{max-width:300px;max-height:200px;object-fit:cover;border-radius:8px;border:2px solid rgba(var(--vsg-purple-rgb),.3)}.image-actions{display:flex;gap:.75rem}.image-upload-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2rem;background:#ffffff05;border:2px dashed rgba(var(--vsg-purple-rgb),.3);border-radius:12px;cursor:pointer;transition:all .3s ease;color:rgba(var(--vsg-purple-rgb),.6)}.image-upload-placeholder:hover{background:rgba(var(--vsg-purple-rgb),.05);border-color:rgba(var(--vsg-purple-rgb),.5);color:rgba(var(--vsg-purple-rgb),.8)}.image-upload-placeholder span{font-size:.9rem;text-transform:uppercase;letter-spacing:1px}.image-upload-loading{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;background:#000c;border-radius:12px}.image-upload-loading span{color:rgba(var(--vsg-purple-rgb),.8);font-size:.9rem}.dreamer-admin-section{margin-top:1.5rem;padding:1.5rem;background:rgba(var(--vsg-gold-rgb),.05);border:1px solid rgba(var(--vsg-gold-rgb),.3);border-radius:12px}.dreamer-admin-section h4{margin:0 0 1rem;font-family:var(--font-primary);font-size:1.1rem;color:var(--vsg-gold);text-transform:uppercase;letter-spacing:1px}.admin-info{display:flex;flex-direction:column;gap:.75rem}.admin-row{display:flex;align-items:center;gap:1rem}.admin-label{font-weight:400;color:#ffffffb3;min-width:80px}.admin-value{flex:1;color:#ffffffe6}.rules-view{padding:2rem;height:100%;display:flex;align-items:center;justify-content:center}.rules-placeholder{max-width:500px;text-align:center;padding:3rem 2rem;background:rgba(var(--vsg-purple-rgb),.05);border:1px dashed rgba(var(--vsg-purple-rgb),.3);border-radius:16px}.rules-placeholder-icon{font-size:4rem;margin-bottom:1.5rem}.rules-placeholder h3{margin:0 0 1rem;font-family:var(--font-primary);font-size:1.5rem;color:var(--vsg-purple)}.rules-placeholder p{margin:0 0 1rem;color:#ffffffb3;line-height:1.6}.rules-placeholder-example{padding:1rem;background:#0000004d;border-radius:8px;font-size:.9rem;color:#fff9}.rules-placeholder-example strong{color:#ffffffe6}.rules-status{margin-top:1.5rem;padding:.75rem 1rem;background:rgba(var(--vsg-success-rgb),.08);border:1px solid rgba(var(--vsg-success-rgb),.23);border-radius:8px;display:flex;align-items:center;justify-content:center;gap:.5rem;color:rgba(var(--vsg-success-rgb),.7)}.rules-status-icon{font-size:1.2rem}.sheet-designer .rename-affordance-glyph{margin-left:6px;color:var(--vsg-purple);font-size:12px;opacity:.7;transition:opacity .2s ease,transform .2s ease;display:inline-block;vertical-align:text-bottom}.current-version-name.editable:hover .rename-affordance-glyph{opacity:1;transform:scale(1.2)}.session-expired-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:sessionExpiredFadeIn .3s ease}.session-expired-modal{position:relative;background:transparent;width:90%;max-width:420px;animation:sessionExpiredSlideUp .4s cubic-bezier(.16,1,.3,1)}.session-expired-modal .modal-header{padding:32px 32px 0;text-align:center}.session-expired-modal .modal-title{margin:0;font-family:var(--font-primary);font-size:26px;font-weight:400;color:var(--vsg-purple);letter-spacing:1px;text-shadow:0 2px 10px rgba(var(--vsg-purple-rgb),.3)}.session-expired-modal .modal-content{padding:24px 32px 32px;text-align:center}.session-message{color:#ffffffe6;font-size:16px;line-height:1.6;margin:0 0 8px;font-weight:400}.session-submessage{color:rgba(var(--vsg-purple-rgb),.6);font-size:14px;line-height:1.5;margin:0}.session-expired-modal .modal-footer{padding:0 32px 32px;display:flex;justify-content:center}.session-expired-modal .modal-footer .fantamaster-button{width:100%;max-width:280px}@keyframes sessionExpiredFadeIn{0%{opacity:0}to{opacity:1}}@keyframes sessionExpiredSlideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 600px){.session-expired-modal{max-width:calc(100% - 32px);margin:16px}.session-expired-modal .modal-header{padding:24px 24px 0}.session-expired-modal .modal-content{padding:20px 24px 24px}.session-expired-modal .modal-footer{padding:0 24px 24px}.session-expired-modal .modal-title{font-size:22px}}.fatal-error-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--vsg-surface);color:#fffffff2;font-family:var(--font-primary);font-weight:400;padding:24px;z-index:9999;overflow-y:auto}.fatal-error-screen__card{width:100%;max-width:720px;background:#00000080;border:1px solid rgba(var(--vsg-purple-rgb),.2);border-radius:12px;padding:40px 48px;box-shadow:0 20px 60px #00000080}.fatal-error-screen__title{font-size:28px;font-weight:300;letter-spacing:.02em;color:var(--vsg-purple);margin:0 0 16px;text-shadow:0 0 24px rgba(var(--vsg-purple-rgb),.3)}.fatal-error-screen__body{font-size:16px;font-weight:400;line-height:1.6;color:#ffffffd9;margin:0 0 24px}.fatal-error-screen__diagnostics-heading{font-size:14px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:rgba(var(--vsg-purple-rgb),.85);margin:24px 0 12px}.fatal-error-screen__diagnostics{background:#0000004d;border:1px solid rgba(var(--vsg-purple-rgb),.15);border-radius:8px;padding:16px 20px;font-size:13px;font-weight:400;line-height:1.7;color:#ffffffb3}.fatal-error-screen__diagnostics dl{margin:0;display:grid;grid-template-columns:max-content 1fr;column-gap:16px;row-gap:4px}.fatal-error-screen__diagnostics dt{color:#ffffff8c;margin:0}.fatal-error-screen__diagnostics dd{color:#ffffffd9;margin:0;word-break:break-word}.fatal-error-screen__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.fatal-error-screen__btn{font-family:var(--font-primary);font-weight:400;font-size:14px;letter-spacing:.04em;padding:10px 20px;border-radius:8px;cursor:pointer;transition:all .2s ease;background:transparent;border:1px solid rgba(var(--vsg-purple-rgb),.4);color:var(--vsg-purple)}.fatal-error-screen__btn:hover{background:rgba(var(--vsg-purple-rgb),.1);border-color:rgba(var(--vsg-purple-rgb),.7)}.fatal-error-screen__btn:focus-visible{outline:2px solid var(--vsg-purple);outline-offset:2px}.fatal-error-screen__btn--primary{background:rgba(var(--vsg-purple-rgb),.15);border-color:var(--vsg-purple)}.fatal-error-screen__btn--primary:hover{background:rgba(var(--vsg-purple-rgb),.25)}.fatal-error-screen__btn--accent{border-color:rgba(var(--vsg-magenta-rgb),.5);color:var(--vsg-magenta)}.fatal-error-screen__btn--accent:hover{background:rgba(var(--vsg-magenta-rgb),.1);border-color:var(--vsg-magenta)}.fatal-error-screen__feedback{margin-top:20px;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:400;line-height:1.5}.fatal-error-screen__feedback--success{background:rgba(var(--vsg-purple-rgb),.1);border:1px solid rgba(var(--vsg-purple-rgb),.3);color:#ffffffe6}.fatal-error-screen__feedback--error{background:rgba(var(--vsg-magenta-rgb),.1);border:1px solid rgba(var(--vsg-magenta-rgb),.3);color:#ffffffe6}.fatal-error-screen__support{margin-top:32px;font-size:13px;color:#ffffff8c;text-align:center}.fatal-error-screen__support a{color:var(--vsg-purple);text-decoration:none}.fatal-error-screen__support a:hover{text-decoration:underline}.fatal-error-screen__consent-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;padding:24px}.fatal-error-screen__consent{width:100%;max-width:480px;background:var(--vsg-surface);border:1px solid rgba(var(--vsg-purple-rgb),.3);border-radius:12px;padding:28px 32px;box-shadow:0 20px 60px #000000b3}.fatal-error-screen__consent-title{font-size:20px;font-weight:300;color:var(--vsg-purple);margin:0 0 16px}.fatal-error-screen__consent-body{font-size:14px;font-weight:400;line-height:1.6;color:#ffffffd9;margin:0 0 24px}.fatal-error-screen__consent-actions{display:flex;gap:12px;justify-content:flex-end}.fatal-error-screen-web.fatal-error-screen{background:rgba(var(--vsg-surface-rgb),.98);animation:fatalScreenFadeIn .2s ease-out}@keyframes fatalScreenFadeIn{0%{opacity:0}to{opacity:1}}.fatal-error-screen-content{width:100%;max-width:360px;text-align:center;display:flex;flex-direction:column;gap:16px}.fatal-error-screen-brand{margin:0 0 8px;color:var(--vsg-purple);font-size:2.25rem;line-height:1.2}.fatal-error-screen-brand .fantasia-copyright-symbol{font-size:.5em;vertical-align:super;margin-left:2px}.fatal-error-screen-title{margin:0;color:#fffffff2;font-size:1.125rem;font-weight:400;line-height:1.4}.fatal-error-screen-body{margin:0;color:#ffffffd9;font-size:1rem;line-height:1.5}.fatal-error-screen-hint{margin:0;color:#ffffff80;font-size:.875rem;line-height:1.5}.fatal-error-screen-diagnostic-chip{margin-top:8px;padding:16px;background:rgba(var(--vsg-magenta-rgb),.1);border:1px solid rgba(var(--vsg-magenta-rgb),.3);border-radius:12px;display:flex;flex-direction:column;gap:4px;align-items:center}.fatal-error-screen-diagnostic-label{color:var(--vsg-magenta);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.fatal-error-screen-diagnostic-value{color:#ffffffd9;font-size:.95rem;font-family:var(--font-primary)}:root{--vsg-purple: #CD43FF;--vsg-purple-rgb: 205, 67, 255;--vsg-magenta: #FF43CD;--vsg-magenta-rgb: 255, 67, 205;--vsg-gold: #fcd34d;--vsg-gold-rgb: 252, 211, 77;--vsg-error: #FF4343;--vsg-error-rgb: 255, 67, 67;--vsg-success: #43FF97;--vsg-success-rgb: 67, 255, 151;--vsg-caution: #FFA500;--vsg-caution-rgb: 255, 165, 0;--vsg-info: #60a5fa;--vsg-info-rgb: 96, 165, 250;--vsg-analyzing: #06b6d4;--vsg-analyzing-rgb: 6, 182, 212;--vsg-surface: #07080a;--vsg-surface-rgb: 7, 8, 10;--vsg-purple-bright: #E066FF;--vsg-purple-bright-rgb: 224, 102, 255;--vsg-purple-brighter: #F077FF;--vsg-purple-brighter-rgb: 240, 119, 255;--vsg-purple-brightest: #FF88FF;--vsg-purple-brightest-rgb: 255, 136, 255;--vsg-purple-radiant: #FFA8FF;--vsg-purple-radiant-rgb: 255, 168, 255}html{overflow:hidden!important;height:100%!important;margin:0;padding:0}body{overflow:hidden!important;height:100%!important;max-width:calc(100 * var(--vw-fit));margin:0!important;padding:0!important}#root{height:calc(100 * var(--vh-fit));overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-overlay>div[class*=modal],.modal-overlay>div[class*=Modal]{max-width:calc(95 * var(--vw-fit));max-height:calc(95 * var(--vh-fit))}pre,code{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}@media (max-width: 768px){input[type=text],input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=url],textarea,select{font-size:16px!important}.post-content,.post-text,.message-content,.comment-content,.description-text{word-break:break-word;overflow-wrap:anywhere}.button-group,.toolbar{flex-wrap:wrap!important;gap:8px}}#root{height:calc(100 * var(--vh-fit));height:calc(100 * var(--dvh-fit))}@media (max-width: 600px){.modal-overlay>div[class*=modal],.modal-overlay>div[class*=Modal]{height:calc(100 * var(--vh-fit))!important;height:calc(100 * var(--dvh-fit))!important}}@media (prefers-reduced-motion: reduce){.game-card:hover,.world-card:hover{transform:none!important}}@media (max-width: 768px){body.modal-open{touch-action:none;-webkit-overflow-scrolling:auto}}html.pwa-mode,html.pwa-mode *:not(svg):not(svg *){font-weight:400!important}
