.toast-container{position:fixed;bottom:24px;right:24px;z-index:1600;display:flex;flex-direction:column;gap:12px;max-width:400px;pointer-events:none}.toast{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:10px;background:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:0 8px 24px #0000004d;pointer-events:auto;animation:toast-slide-in .3s ease-out}@keyframes toast-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.toast-success .toast-icon{color:#22c55e}.toast-error .toast-icon{color:#ef4444}.toast-warning .toast-icon{color:#f59e0b}.toast-info .toast-icon{color:#3b82f6}.toast-content{flex:1;min-width:0}.toast-message{margin:0;font-size:14px;line-height:1.5;color:var(--text-primary);word-wrap:break-word}.toast-action{margin-top:8px;padding:4px 12px;font-size:13px;font-weight:500;color:var(--hope-color);background:transparent;border:1px solid var(--hope-color);border-radius:4px;cursor:pointer;transition:all .2s}.toast-action:hover{background:var(--hope-color);color:var(--bg-primary)}.toast-dismiss{flex-shrink:0;padding:4px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;border-radius:4px;transition:all .2s;display:flex;align-items:center;justify-content:center}.toast-dismiss:hover{background:var(--bg-tertiary);color:var(--text-primary)}.toast-success{border-left:3px solid #22c55e}.toast-error{border-left:3px solid #ef4444}.toast-warning{border-left:3px solid #f59e0b}.toast-info{border-left:3px solid #3b82f6}@media(max-width:480px){.toast-container{left:16px;right:16px;bottom:16px;max-width:none}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);padding:2rem}.auth-container{width:100%;max-width:450px}.auth-brand{text-align:center;margin-bottom:3rem}.auth-logo{max-width:100%;height:auto;max-height:180px;-o-object-fit:contain;object-fit:contain;filter:brightness(1.1)}.auth-brand h1{font-size:3rem;margin-bottom:.5rem;background:linear-gradient(135deg,var(--hope-color),var(--fear-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-brand p{font-size:1.1rem;color:var(--text-muted)}.auth-form{background:var(--card-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:16px;padding:2.5rem;animation:fadeIn .3s ease}.auth-form h2{font-size:1.75rem;margin-bottom:.5rem;text-align:center}.auth-subtitle{text-align:center;color:var(--text-muted);margin-bottom:2rem}.auth-error{padding:.875rem 1rem;background:#ef44441a;border:1px solid var(--danger);border-radius:8px;color:var(--danger);margin-bottom:1.5rem;font-size:.9rem}.auth-success{padding:.875rem 1rem;background:#22c55e1a;border:1px solid #22c55e;border-radius:8px;color:#22c55e;margin-bottom:1.5rem;font-size:.9rem}.input-with-icon{position:relative;display:flex;align-items:center}.input-with-icon svg{position:absolute;left:1rem;color:var(--text-muted);pointer-events:none;flex-shrink:0}.input-with-icon input{padding-left:3.25rem!important;width:100%}.auth-form form{display:flex;flex-direction:column;gap:1.25rem}.link-button{background:none;border:none;color:var(--hope-color);font-size:.9rem;cursor:pointer;padding:0;text-align:left;transition:opacity .2s ease}.link-button:hover:not(:disabled){opacity:.7;text-decoration:underline}.link-button:disabled{opacity:.5;cursor:not-allowed}.auth-divider{position:relative;text-align:center;margin:1.5rem 0}.auth-divider:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--border)}.auth-divider span{position:relative;background:var(--card-bg);padding:0 1rem;color:var(--text-muted);font-size:.9rem}.auth-footer{text-align:center;margin-top:1.5rem;color:var(--text-muted);font-size:.9rem}.auth-footer .link-button{display:inline;font-weight:600}.auth-footer-text{text-align:center;margin-top:2rem;color:var(--text-muted);font-size:.85rem}.auth-footer-text p{margin:.5rem 0}.auth-credits a{color:var(--text-primary);text-decoration:none;transition:color .2s ease}.auth-credits a:hover{color:var(--hope-color)}.back-button{display:inline-flex;align-items:center;gap:.5rem;background:none;border:none;color:var(--text-primary);font-size:.9rem;cursor:pointer;padding:.5rem 0;margin-bottom:1.5rem;transition:color .2s ease}.back-button:hover{color:var(--hope-color)}@media(max-width:480px){.auth-page{padding:1rem}.auth-form{padding:2rem 1.5rem}.auth-brand h1{font-size:2.5rem}}.terms-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:10000;padding:2rem}.terms-modal{background:var(--card-bg);border-radius:16px;max-width:800px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080}.terms-header{padding:2rem;border-bottom:1px solid var(--border)}.terms-header h2{margin:0 0 .5rem;font-size:1.75rem;color:var(--text-primary)}.terms-date{margin:0;color:var(--text-muted);font-size:.875rem}.terms-content{flex:1;overflow-y:auto;padding:2rem}.terms-content section{margin-bottom:2rem}.terms-content h3{font-size:1.25rem;color:var(--hope-color);margin:0 0 1rem}.terms-content p{margin:0 0 1rem;line-height:1.6;color:var(--text-secondary)}.terms-content ul{margin:1rem 0;padding-left:2rem;color:var(--text-secondary)}.terms-content li{margin-bottom:.5rem;line-height:1.6}.terms-content strong{color:var(--text-primary);font-weight:600}.terms-content a{color:var(--hope-color);text-decoration:none}.terms-content a:hover{text-decoration:underline}.terms-footer{padding:2rem;border-top:1px solid var(--border)}.terms-checkbox{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.terms-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer}.terms-checkbox span{color:var(--text-primary);font-size:1rem;font-weight:500}.terms-actions{display:flex;gap:1rem;justify-content:flex-end}.terms-actions .btn{min-width:150px}@media(max-width:767px){.terms-overlay{padding:1rem}.terms-modal{max-height:95vh}.terms-header{padding:1.5rem}.terms-header h2{font-size:1.5rem}.terms-content{padding:1.5rem}.terms-content h3{font-size:1.125rem}.terms-footer{padding:1.5rem}.terms-checkbox{font-size:.875rem}.terms-actions{flex-direction:column}.terms-actions .btn{width:100%}}.terms-content::-webkit-scrollbar{width:8px}.terms-content::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:4px}.terms-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.terms-content::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.campaign-browser{padding:2rem;max-width:1200px;margin:0 auto}.browser-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.browser-header h2{font-size:2rem;margin:0}.browser-subtitle{color:var(--text-muted);margin:.25rem 0 0}.public-campaign-card{padding:2rem;display:flex;flex-direction:column;gap:1rem;transition:all .2s ease}.public-campaign-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.campaign-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.campaign-card-header h3{font-size:1.5rem;margin:0;font-family:Cinzel,serif;flex:1}.status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:12px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.status-member{background:#22c55e26;color:#22c55e}.status-pending{background:#fbbf2426;color:#fbbf24}.status-denied{background:#ef444426;color:#ef4444}.campaign-description{color:var(--text-secondary);line-height:1.6;margin:0}.campaign-meta{display:flex;flex-direction:column;gap:.5rem;padding-top:.5rem;border-top:1px solid var(--border)}.meta-item{display:flex;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.95rem}.dm-label{font-weight:600;color:var(--text-secondary)}.pending-message,.member-message,.denied-message{padding:.875rem 1rem;border-radius:8px;font-size:.9rem;text-align:center}.pending-message{background:#fbbf241a;border:1px solid rgba(251,191,36,.3);color:#fbbf24}.member-message{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#22c55e}.denied-message{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444}.full-width{width:100%;justify-content:center}@media(max-width:768px){.campaign-browser{padding:1rem}.campaign-card-header{flex-direction:column}.status-badge{align-self:flex-start}}.game-system-selector{margin-bottom:1.5rem}.game-system-selector .form-label{display:block;font-weight:600;margin-bottom:.25rem;color:var(--text-primary)}.game-system-selector .form-help{font-size:.875rem;color:var(--text-secondary);margin-bottom:1rem}.game-system-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.game-system-card{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;padding:1.25rem;cursor:pointer;transition:all .2s;text-align:left}.game-system-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.game-system-card.selected{border-color:var(--primary);background:var(--primary);box-shadow:0 0 0 3px #7c3aed1a}.game-system-card.selected h3{color:#fff}.game-system-card.selected .system-description{color:#ffffffe6}.system-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.system-header h3{margin:0;font-size:1.125rem;color:var(--text-primary)}.selected-badge{background:var(--primary);color:#fff;font-size:.75rem;padding:.25rem .5rem;border-radius:4px;font-weight:600}.system-description{margin:0;font-size:.875rem;color:var(--text-secondary);line-height:1.5}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:.5rem;animation:fadeIn .2s ease}@media(min-width:768px){.modal-overlay{padding:1rem}}.modal-content{background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-small,.modal-medium,.modal-large{max-width:calc(100vw - 1rem)}@media(min-width:768px){.modal-small{max-width:400px}.modal-medium{max-width:600px}.modal-large{max-width:900px}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--border)}@media(min-width:768px){.modal-header{padding:1.5rem}}.modal-header h2{font-size:1.25rem;margin:0}@media(min-width:768px){.modal-header h2{font-size:1.5rem}}.modal-body{padding:1rem;overflow-y:auto}@media(min-width:768px){.modal-body{padding:1.5rem}}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:var(--bg-tertiary)}.modal-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.modal-actions{display:flex;flex-direction:column;gap:.75rem;padding-top:1rem;margin-top:1rem;border-top:1px solid var(--border)}.modal-actions .btn{width:100%}@media(min-width:768px){.modal-actions{flex-direction:row;justify-content:flex-end;gap:1rem}.modal-actions .btn{width:auto}}.campaign-selector{padding:2rem;max-width:1200px;margin:0 auto}.campaign-selector-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:2rem}.campaign-selector-header h2{font-size:2rem;flex-shrink:0}.header-actions{display:flex;gap:.75rem;flex-shrink:0}.btn-sm{padding:.5rem 1rem;font-size:.9rem}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:1.25rem;height:1.25rem;cursor:pointer}.checkbox-label span{font-weight:400;color:var(--text-primary)}.form-hint{font-size:.85rem;color:var(--text-muted);margin-top:.25rem;display:block}.campaigns-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:768px){.campaigns-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}}.campaign-card{background:var(--card-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid var(--border);border-radius:12px;padding:1.5rem;transition:all .3s ease;display:flex;flex-direction:column;align-items:stretch;position:relative}.campaign-card-content{cursor:pointer;display:flex;flex-direction:column;align-items:center;text-align:center;padding:.5rem;flex:1}.campaign-card:hover{border-color:var(--hope-color);transform:translateY(-4px)}.campaign-card.active{border-color:var(--hope-color);background:linear-gradient(135deg,rgba(234,179,8,.1),var(--card-bg))}.campaign-delete-btn{position:absolute;top:.5rem;right:.5rem;padding:.5rem;background:transparent;color:var(--text-muted);border:1px solid transparent;transition:all .2s ease;opacity:0}.campaign-card:hover .campaign-delete-btn{opacity:1}.campaign-delete-btn:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.campaign-icon{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--hope-color),var(--fear-color));display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:1.5rem}.campaign-info h3{font-size:1.25rem;margin-bottom:.5rem}.campaign-info p{color:var(--text-muted);font-size:.9rem;line-height:1.5}.campaign-selector-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;color:var(--text-muted);gap:1rem;width:100%;max-width:600px;margin:0 auto;padding:2rem}.campaign-selector-empty svg{color:var(--text-muted);opacity:.5}.campaign-selector-empty h2{font-size:2rem;margin:0;color:var(--text-primary)}.campaign-selector-empty p{font-size:1.1rem;margin:0}.campaign-selector-empty .btn{margin-top:.5rem}.empty-state-help{max-width:500px;font-size:1rem!important;color:var(--text-secondary)!important;line-height:1.6}.campaign-selector-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;color:var(--text-muted)}.loading-spinner{width:48px;height:48px;border:4px solid var(--border);border-top-color:var(--hope-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1.5rem}.campaign-members{padding:1.5rem}.campaign-members h3{margin-bottom:1.5rem;font-family:Cinzel,serif}.campaign-members h4{margin-bottom:1rem;font-size:1.1rem;font-family:Cinzel,serif}.members-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}.member-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:.5rem}.member-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--accent-color);color:#fff}.member-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.member-name{font-weight:600;color:var(--text-primary)}.member-email{font-size:.875rem;color:var(--text-secondary)}.member-actions{display:flex;align-items:center;gap:1rem}.member-role{padding:.375rem .75rem;border-radius:.25rem;font-size:.875rem;font-weight:600;white-space:nowrap}.member-role.dm{background:var(--dm-primary);color:#fff}.member-role.player{background:var(--player-primary);color:#fff}.role-select{padding:.375rem .75rem;border:1px solid var(--border-color);border-radius:.25rem;background:var(--card-bg);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s ease}.role-select:hover{border-color:var(--hope-color)}.role-select:focus{outline:none;border-color:var(--hope-color);box-shadow:0 0 0 3px #eab3081a}.join-requests-section{margin-bottom:2rem;padding:1.5rem;background:#fbbf240d;border:2px solid rgba(251,191,36,.3);border-radius:12px}.join-requests-list{display:flex;flex-direction:column;gap:1rem}.join-request-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;background:var(--card-bg);border:1px solid var(--border);border-radius:8px}.request-info{display:flex;align-items:center;gap:1rem;flex:1}.request-info>div{display:flex;flex-direction:column;gap:.25rem}.request-name{font-weight:600;color:var(--text-primary)}.request-email{font-size:.875rem;color:var(--text-muted)}.request-actions{display:flex;gap:.5rem}.btn-success{background:#22c55e;color:#fff}.btn-success:hover:not(:disabled){background:#16a34a}.pending-invites{margin-bottom:2rem;padding:1rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:.5rem}.pending-invite-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;color:var(--text-secondary)}.invite-form{padding:1.5rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:.5rem}.invite-form .input-group{display:flex;gap:.75rem}.invite-form input{flex:1}.invite-instructions{margin-top:1rem;padding:.75rem;background:var(--bg-secondary);border-radius:.375rem;font-size:.875rem;color:var(--text-secondary);word-break:break-all}.invite-notice{display:flex;gap:1rem;padding:1rem;margin-bottom:1.5rem;background:#eab3081a;border-left:3px solid var(--hope-color);border-radius:.375rem}.invite-notice svg{flex-shrink:0;margin-top:.25rem;color:var(--hope-color)}.invite-notice strong{display:block;margin-bottom:.5rem;color:var(--text-primary)}.invite-notice p{margin:0;font-size:.875rem;line-height:1.5;color:var(--text-secondary)}.error-message{padding:.75rem;margin-bottom:1rem;background:#dc26261a;border:1px solid rgba(220,38,38,.3);border-radius:.375rem;color:#dc2626}.share-url-section{margin-top:1.5rem;padding:1rem;background:var(--bg-tertiary);border-radius:8px}.share-url-section strong{display:block;margin-bottom:.5rem;color:var(--text-primary);font-size:.9rem}.share-url-row{display:flex;gap:.5rem;align-items:center}.share-url{flex:1;padding:.5rem .75rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;font-size:.85rem;color:var(--hope-color);word-break:break-all}.join-campaign-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%)}.join-campaign-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:3rem;max-width:480px;width:100%;text-align:center;box-shadow:0 20px 60px #0006}.join-campaign-card.error{color:var(--danger-color)}.join-campaign-card .campaign-icon{width:80px;height:80px;background:linear-gradient(135deg,var(--hope-color),var(--fear-color));border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;color:#fff}.join-campaign-card h1{margin:0 0 .5rem;font-size:1.75rem;color:var(--text-primary)}.join-campaign-card .campaign-description{color:var(--text-secondary);margin:0 0 1.5rem;line-height:1.6}.join-campaign-card .campaign-meta{display:flex;justify-content:center;gap:2rem;margin-bottom:2rem;padding:1rem;background:var(--bg-tertiary);border-radius:8px}.join-campaign-card .meta-item{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.9rem}.join-campaign-card .dm-label{opacity:.7}.join-status{display:flex;align-items:flex-start;gap:1rem;padding:1rem;border-radius:8px;margin-bottom:1.5rem;text-align:left}.join-status.member{background:#22c55e26;border:1px solid rgba(34,197,94,.3);color:#22c55e}.join-status.pending{background:#eab30826;border:1px solid rgba(234,179,8,.3);color:#eab308}.join-status.denied{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#ef4444}.join-status strong{display:block;margin-bottom:.25rem;color:inherit}.join-status p{margin:0;font-size:.85rem;opacity:.9}.join-actions{margin-top:1rem}.join-actions .btn-lg{padding:1rem 2rem;font-size:1.1rem;width:100%}.private-notice{margin-top:1rem;font-size:.8rem;color:var(--text-muted);opacity:.7}.join-campaign-card .loading-spinner{margin:0 auto 1rem}@media(max-width:480px){.join-campaign-card{padding:2rem 1.5rem}.join-campaign-card .campaign-meta{flex-direction:column;gap:.75rem}}.role-selection{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--bg-primary)}@media(min-width:768px){.role-selection{padding:2rem}}.role-selection-container{max-width:800px;width:100%;text-align:center}.role-selection h1{font-size:1.75rem;margin-bottom:1rem;font-family:Cinzel,serif;background:linear-gradient(135deg,var(--hope-color),var(--fear-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media(min-width:768px){.role-selection h1{font-size:2.5rem}}.role-selection-subtitle{font-size:1rem;color:var(--text-secondary);margin-bottom:2rem}@media(min-width:768px){.role-selection-subtitle{font-size:1.25rem;margin-bottom:3rem}}.role-options{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem}@media(min-width:768px){.role-options{grid-template-columns:repeat(2,1fr);gap:2rem;margin-bottom:3rem}}.role-option{background:var(--card-bg);border:3px solid var(--border);border-radius:16px;padding:2rem 1.5rem;cursor:pointer;transition:all .3s ease;text-align:center}@media(min-width:768px){.role-option{padding:3rem 2rem}}.role-option:hover{transform:translateY(-8px);border-color:var(--hope-color)}.role-option.selected{border-color:var(--hope-color);background:linear-gradient(135deg,rgba(234,179,8,.1),var(--card-bg));box-shadow:0 8px 24px #eab30833}.role-option.selected .role-icon.dm{background:linear-gradient(135deg,var(--fear-color),var(--fear-secondary))}.role-option.selected .role-icon.player{background:linear-gradient(135deg,var(--hope-color),var(--hope-secondary))}.role-icon{width:100px;height:100px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;background:var(--bg-secondary);color:var(--text-secondary);transition:all .3s ease}.role-icon.dm{background:linear-gradient(135deg,#8b5cf633,#a78bfa33)}.role-icon.player{background:linear-gradient(135deg,#eab30833,#f59e0b33)}.role-option.selected .role-icon{color:#fff}.role-option h3{font-size:1.5rem;margin-bottom:1rem;font-family:Cinzel,serif;color:var(--text-primary)}.role-option p{color:var(--text-secondary);line-height:1.6}.role-option.selected h3,.role-option.selected p{color:var(--text-primary)}.btn-large{padding:1rem 3rem;font-size:1.1rem;min-width:200px}.role-selection-note{margin-top:2rem;font-size:.875rem;color:var(--text-muted);font-style:italic}.sidebar{width:var(--sidebar-width);min-height:100vh;background:var(--bg-secondary);border-right:1px solid var(--border-accent);box-shadow:4px 0 20px var(--glow-color);display:flex;flex-direction:column;padding:1.5rem 1rem;position:sticky;top:0;height:100vh;transition:width .3s ease,padding .3s ease;overflow:hidden}.sidebar.collapsed{width:var(--sidebar-collapsed-width);padding:1.5rem .75rem}.sidebar.collapsed .sidebar-header{justify-content:center}.sidebar.collapsed .campaign-name,.sidebar.collapsed .user-role-badge span,.sidebar.collapsed .nav-group-title span,.sidebar.collapsed .nav-item span,.sidebar.collapsed .logout-btn span,.sidebar.collapsed .sidebar-branding{display:none}.sidebar.collapsed .nav-item,.sidebar.collapsed .nav-group-header{justify-content:center;padding:.75rem}.sidebar.collapsed .nav-group-items{padding-left:0}.sidebar.collapsed .current-campaign{padding:.5rem}.sidebar.collapsed .campaign-switcher{justify-content:center;padding:.5rem}.sidebar-header{margin-bottom:1.5rem;display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;position:relative}.sidebar.collapsed .sidebar-header{align-items:center}.collapse-toggle{position:absolute;right:0;top:0;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text-muted);padding:.5rem;cursor:pointer;transition:all .2s ease}.sidebar.collapsed .collapse-toggle{position:static;margin-top:.5rem}.collapse-toggle:hover{background:var(--card-bg);color:var(--accent-primary);border-color:var(--accent-primary)}.sidebar-title{font-size:1.5rem;margin-bottom:.25rem;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar.dm-mode .sidebar-title{background:linear-gradient(135deg,var(--accent-tertiary),var(--accent-tertiary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar-subtitle{font-size:.85rem;color:var(--text-muted)}.mode-toggle{display:flex;gap:.5rem;margin-bottom:2rem;padding:.5rem;background:var(--card-bg);border-radius:12px}.mode-btn{flex:1;padding:.75rem 1rem;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--text-muted);font-weight:500;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s ease}.mode-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}.player-mode .mode-btn.active{background:linear-gradient(135deg,var(--hope-color),var(--hope-secondary));color:var(--bg-primary);border-color:var(--hope-color)}.dm-mode .mode-btn.active{background:linear-gradient(135deg,var(--fear-color),var(--fear-secondary));color:#fff;border-color:var(--fear-color)}.sidebar-nav{display:flex;flex-direction:column;gap:.75rem;flex:1;overflow-y:auto;overflow-x:hidden}.nav-group{display:flex;flex-direction:column;gap:.25rem}.nav-group-header{padding:.75rem 1rem;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--text-secondary);font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;justify-content:space-between;text-align:left;transition:all .2s ease;cursor:pointer}.nav-group-title{display:flex;align-items:center;gap:.5rem}.nav-group-header:hover{background:var(--card-bg);color:var(--text-primary)}.nav-group-header.has-active{color:var(--text-primary)}.player-mode .nav-group-header.has-active{color:var(--hope-color)}.dm-mode .nav-group-header.has-active{color:var(--fear-color)}.nav-group-items{display:flex;flex-direction:column;gap:.25rem;padding-left:.5rem;margin-top:.25rem}.nav-item{padding:.75rem 1rem;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--text-primary);font-size:.95rem;font-weight:500;display:flex;align-items:center;gap:.75rem;text-align:left;transition:all .2s ease}.nav-item:hover{background:var(--card-bg);border-color:var(--border)}.player-mode .nav-item.active{background:linear-gradient(135deg,#eab30833,#f59e0b33);border-color:var(--hope-color);color:var(--hope-color)}.dm-mode .nav-item.active{background:linear-gradient(135deg,#8b5cf633,#a78bfa33);border-color:var(--fear-color);color:var(--fear-color)}.current-campaign{margin-bottom:1.5rem}.campaign-header-row{display:flex;align-items:center;gap:12px}.campaign-switcher{flex:1;min-width:0;padding:.875rem 1rem;background:var(--card-bg);border:1px solid var(--border);border-radius:10px;color:var(--text-primary);font-size:.9rem;display:flex;align-items:center;gap:.75rem;cursor:pointer;transition:all .2s ease}.campaign-switcher:hover{border-color:var(--hope-color);background:#eab3081a}.campaign-name{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role-badge{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;padding:.5rem .75rem;background:var(--card-bg);border-radius:.5rem;font-size:.875rem;font-weight:500;color:var(--text-secondary)}.player-mode .user-role-badge{border-left:3px solid var(--hope-color)}.dm-mode .user-role-badge{border-left:3px solid var(--fear-color)}.logout-btn{width:100%;padding:.875rem 1rem;background:transparent;border:1px solid var(--border);border-radius:10px;color:var(--text-primary);font-size:.95rem;font-weight:500;display:flex;align-items:center;justify-content:center;gap:.75rem;cursor:pointer;transition:all .2s ease;margin-bottom:1.5rem}.logout-btn:hover{background:var(--danger);border-color:var(--danger);color:#fff}.sidebar-footer{margin-top:auto;padding-top:2rem;border-top:1px solid var(--border)}.sidebar-branding{text-align:center;padding:1rem 0}.sidebar-logo{max-width:120px;height:auto;opacity:.8;transition:opacity .2s ease}.sidebar-logo:hover{opacity:1}.sidebar-footer p{margin-bottom:.5rem}.sidebar-footer a{display:block;color:var(--text-primary);text-decoration:none;padding:.25rem;transition:color .2s ease}.sidebar-footer a:hover{color:var(--hope-color)}.dm-mode .sidebar-footer a:hover{color:var(--fear-color)}.mobile-menu-toggle{display:none}@media(max-width:767px){.sidebar{position:fixed;left:-280px;top:0;width:280px;height:100vh;transition:left .3s ease;z-index:1000;background:var(--bg-secondary);box-shadow:2px 0 10px #0000004d}.sidebar.mobile-open{left:0}.mobile-menu-toggle{display:flex!important;align-items:center;justify-content:center;position:fixed;top:1rem;left:1rem;z-index:1001;min-height:48px;min-width:48px;width:48px;height:48px;padding:0;background:var(--hope-color);border:2px solid var(--hope-color);border-radius:12px;color:var(--bg-primary);cursor:pointer;box-shadow:0 4px 12px #0000004d;transition:all .2s ease}.mobile-menu-toggle:hover,.mobile-menu-toggle:active{background:var(--hope-secondary);border-color:var(--hope-secondary);transform:scale(1.05)}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:999;animation:fadeIn .3s ease}}@media(min-width:768px){.mobile-menu-toggle{display:none}.sidebar-backdrop{display:none!important}}.dr-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;cursor:pointer;animation:overlayIn .3s ease-out forwards,overlayOut .5s ease-in 2s forwards;pointer-events:auto}.dr-overlay-crit{background:radial-gradient(ellipse at center,#facc1540,#000000d9 70%)}.dr-overlay-critfail{background:radial-gradient(ellipse at center,#ef444440,#000000d9 70%)}.dr-overlay-doubles{background:radial-gradient(ellipse at center,#a855f740,#000000d9 70%)}.dr-overlay-content{display:flex;flex-direction:column;align-items:center;gap:.5rem;animation:overlayBurst .5s cubic-bezier(.34,1.56,.64,1) forwards}.dr-overlay-icon{font-size:4rem;filter:drop-shadow(0 0 30px rgba(255,255,255,.5));animation:iconBounce .6s ease-out}.dr-overlay-text{font-size:clamp(3rem,10vw,6rem);font-weight:900;font-family:Cinzel,serif;letter-spacing:.1em;text-transform:uppercase;text-shadow:0 0 20px currentColor,0 0 40px currentColor,0 0 80px currentColor;animation:textGlow 1.5s ease-in-out infinite alternate}.dr-overlay-crit .dr-overlay-text{background:linear-gradient(135deg,#fbbf24,#f59e0b,#fcd34d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 30px rgba(251,191,36,.8))}.dr-overlay-critfail .dr-overlay-text{background:linear-gradient(135deg,#ef4444,#dc2626,#f87171);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 30px rgba(239,68,68,.8))}.dr-overlay-doubles .dr-overlay-text{background:linear-gradient(135deg,#a855f7,#fbbf24,#a855f7);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 30px rgba(168,85,247,.8));animation:textGlow 1.5s ease-in-out infinite alternate,gradientShift 2s ease-in-out infinite}.dr-overlay-sub{font-size:1.5rem;font-weight:600;color:#ffffffb3;letter-spacing:.15em;text-transform:uppercase}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes overlayOut{0%{opacity:1}to{opacity:0;pointer-events:none}}@keyframes overlayBurst{0%{transform:scale(3);opacity:0}60%{transform:scale(.9);opacity:1}to{transform:scale(1);opacity:1}}@keyframes iconBounce{0%{transform:scale(0) rotate(-30deg)}60%{transform:scale(1.3) rotate(10deg)}to{transform:scale(1) rotate(0)}}@keyframes textGlow{0%{text-shadow:0 0 20px currentColor,0 0 40px currentColor}to{text-shadow:0 0 40px currentColor,0 0 80px currentColor,0 0 120px currentColor}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.dr-overlay:before,.dr-overlay:after{content:"";position:absolute;width:100%;height:100%;pointer-events:none}.dr-overlay-crit:before{background:radial-gradient(2px 2px at 20% 30%,#fbbf24,transparent),radial-gradient(2px 2px at 40% 70%,#fcd34d,transparent),radial-gradient(2px 2px at 60% 20%,#fbbf24,transparent),radial-gradient(2px 2px at 80% 60%,#f59e0b,transparent),radial-gradient(3px 3px at 30% 50%,#fbbf24,transparent),radial-gradient(2px 2px at 70% 80%,#fcd34d,transparent),radial-gradient(3px 3px at 50% 40%,#f59e0b,transparent),radial-gradient(2px 2px at 15% 75%,#fbbf24,transparent);animation:sparkleFloat 2s ease-in-out infinite}.dr-overlay-doubles:before{background:radial-gradient(2px 2px at 20% 30%,#a855f7,transparent),radial-gradient(2px 2px at 40% 70%,#fbbf24,transparent),radial-gradient(2px 2px at 60% 20%,#c084fc,transparent),radial-gradient(2px 2px at 80% 60%,#fbbf24,transparent),radial-gradient(3px 3px at 30% 50%,#a855f7,transparent),radial-gradient(2px 2px at 70% 80%,#fbbf24,transparent),radial-gradient(3px 3px at 50% 40%,#c084fc,transparent),radial-gradient(2px 2px at 15% 75%,#fbbf24,transparent);animation:sparkleFloat 2s ease-in-out infinite}@keyframes sparkleFloat{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(-10px)}}@media(max-width:400px){.dr-overlay-text{font-size:2.5rem}}.dice-roller-v2{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.dr-header{display:flex;justify-content:space-between;align-items:center}.dr-title{font-size:1rem;font-weight:600;color:var(--text-primary)}.dr-broadcast-btn{display:flex;align-items:center;gap:.35rem;padding:.35rem .6rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-muted);font-size:.75rem;cursor:pointer;transition:all .2s}.dr-broadcast-btn:hover{border-color:var(--primary)}.dr-broadcast-btn.active{background:#22c55e26;border-color:#22c55e;color:#22c55e}.dr-player-bar{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:var(--bg-tertiary);border-radius:8px}.dr-player-name{font-weight:600;font-size:.9rem}.dr-color-btn{width:24px;height:24px;border-radius:4px;border:2px solid rgba(255,255,255,.3);cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff}.dr-color-picker{display:flex;flex-wrap:wrap;gap:.4rem;padding:.5rem;background:var(--bg-tertiary);border-radius:8px}.dr-color-swatch{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .15s}.dr-color-swatch:hover{transform:scale(1.15)}.dr-color-swatch.active{border-color:#fff}.dr-mode-tabs{display:flex;gap:.5rem}.dr-mode-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.6rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.dr-mode-tab:hover{border-color:var(--text-muted)}.dr-mode-tab.active{background:linear-gradient(135deg,#fbbf2426,#a855f726);border-color:var(--primary);color:var(--text-primary)}.dr-daggerheart-mode{display:flex;flex-direction:column;gap:.75rem}.dr-duality-preview{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem;background:var(--bg-tertiary);border-radius:10px}.dr-duality-die{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem 1.25rem;border-radius:8px;font-weight:600}.dr-duality-die.hope{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1a1a2e}.dr-duality-die.fear{background:linear-gradient(135deg,#a855f7,#7c3aed);color:#fff}.dr-vs{font-size:1.25rem;color:var(--text-muted);font-weight:300}.dr-custom-mode{display:flex;flex-direction:column;gap:.75rem}.dr-presets{display:flex;flex-wrap:wrap;gap:.4rem}.dr-preset-btn{padding:.35rem .6rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-muted);font-size:.75rem;cursor:pointer;transition:all .15s}.dr-preset-btn:hover{background:var(--bg-secondary);border-color:var(--primary);color:var(--text-primary)}.dr-dice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.dr-die-row{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.5rem;background:var(--bg-tertiary);border-radius:8px}.dr-die-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:.75rem;font-weight:700;color:#fff}.dr-die-controls{display:flex;align-items:center;gap:.35rem}.dr-die-controls button{width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);cursor:pointer;transition:all .15s}.dr-die-controls button:hover:not(:disabled){background:var(--primary);border-color:var(--primary)}.dr-die-controls button:disabled{opacity:.3;cursor:not-allowed}.dr-die-count{min-width:20px;text-align:center;font-weight:600;font-size:.9rem;color:var(--text-primary)}.dr-modifier-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:var(--bg-tertiary);border-radius:8px;font-size:.85rem;color:var(--text-muted)}.dr-modifier-controls{display:flex;align-items:center;gap:.5rem}.dr-modifier-controls button{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);cursor:pointer;transition:all .15s}.dr-modifier-controls button:hover{background:var(--primary);border-color:var(--primary)}.dr-modifier-value{min-width:32px;text-align:center;font-weight:600;color:var(--text-primary)}.dr-formula{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem;background:var(--bg-secondary);border-radius:6px;font-size:.9rem;font-weight:600;color:var(--primary)}.dr-clear-btn{padding:.25rem;background:transparent;border:none;color:var(--text-muted);cursor:pointer;transition:color .15s}.dr-clear-btn:hover{color:var(--text-primary)}.dr-roll-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:10px;color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.dr-roll-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.dr-roll-btn:disabled{opacity:.5;cursor:not-allowed}.dr-roll-btn.rolling{background:linear-gradient(135deg,#f59e0b,#ef4444)}.dr-roll-btn .spin{animation:spin .5s linear infinite}.dr-result{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:var(--bg-tertiary);border-radius:12px;border:2px solid var(--border);animation:resultSlide .3s ease-out}@keyframes resultSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dr-result.hope{border-color:#fbbf24;background:linear-gradient(135deg,rgba(251,191,36,.1),transparent)}.dr-result.fear{border-color:#a855f7;background:linear-gradient(135deg,rgba(168,85,247,.1),transparent)}.dr-result.crit{border-color:#22c55e;background:linear-gradient(135deg,rgba(34,197,94,.1),transparent)}.dr-result.critfail{border-color:#ef4444;background:linear-gradient(135deg,rgba(239,68,68,.1),transparent)}.dr-result-dice{display:flex;align-items:center;gap:.5rem}.dr-result-die{display:flex;align-items:center;gap:.25rem;padding:.35rem .6rem;border-radius:6px;font-weight:600}.dr-result-die.hope{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1a1a2e}.dr-result-die.fear{background:linear-gradient(135deg,#a855f7,#7c3aed);color:#fff}.dr-result-value{font-size:1.1rem}.dr-result-plus{color:var(--text-muted);font-size:.9rem}.dr-result-mod{font-weight:600;color:var(--text-primary)}.dr-result-total{font-size:2.5rem;font-weight:800;font-family:Cinzel,serif;background:linear-gradient(135deg,#fbbf24,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dr-result-outcome{display:flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:999px;font-size:.8rem;font-weight:600}.dr-result-outcome.hope{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1a1a2e}.dr-result-outcome.fear{background:linear-gradient(135deg,#a855f7,#7c3aed);color:#fff}.dr-result-formula{font-size:.85rem;color:var(--text-muted);font-weight:500}.dr-result-rolls{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center}.dr-result-roll{display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 .35rem;border-radius:6px;font-size:.85rem;font-weight:700;color:#fff}.dr-result-mod-badge{display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 .35rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;font-size:.85rem;font-weight:600;color:var(--text-primary)}.dr-result-crit{padding:.25rem .75rem;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:999px;color:#fff;font-size:.8rem;font-weight:600}.dr-result-critfail{padding:.25rem .75rem;background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:999px;color:#fff;font-size:.8rem;font-weight:600}.dr-history{border-top:1px solid var(--border);padding-top:.75rem}.dr-history-title{font-size:.75rem;color:var(--text-muted);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.dr-history-list{display:flex;flex-direction:column;gap:.35rem;max-height:150px;overflow-y:auto}.dr-history-item{display:flex;align-items:center;justify-content:space-between;padding:.4rem .6rem;background:var(--bg-tertiary);border-radius:6px;font-size:.8rem}.dr-history-item.hope{border-left:3px solid #fbbf24}.dr-history-item.fear{border-left:3px solid #a855f7}.dr-history-time{color:var(--text-muted);font-size:.7rem}.dr-history-info{display:flex;align-items:center;gap:.25rem;color:var(--text-muted);flex:1;justify-content:center}.dr-history-total{font-weight:700;color:var(--text-primary);min-width:32px;text-align:right}.dr-result-doubles{padding:.25rem .75rem;background:linear-gradient(135deg,#fbbf24,#a855f7);border-radius:999px;color:#fff;font-size:.8rem;font-weight:600;animation:doublePulse .6s ease-in-out}@keyframes doublePulse{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.dm-soundboard{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.soundboard-header{display:flex;justify-content:space-between;align-items:center}.soundboard-title{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--text-primary)}.ai-badge{font-size:.6rem;padding:.15rem .4rem;background:linear-gradient(135deg,#8b5cf6,#6366f1);border-radius:4px;color:#fff;font-weight:600}.api-warning{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#eab3081a;border:1px solid rgba(234,179,8,.3);border-radius:8px;color:#eab308;font-size:.75rem}.soundboard-controls{display:flex;gap:.5rem}.broadcast-toggle{display:flex;align-items:center;gap:.35rem;padding:.35rem .6rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-muted);font-size:.75rem;cursor:pointer;transition:all .2s}.broadcast-toggle.active{background:#22c55e26;border-color:#22c55e;color:#22c55e}.stop-all-btn{padding:.35rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#ef4444;cursor:pointer;transition:all .2s}.stop-all-btn:hover{background:#ef444433}.mute-btn{padding:.35rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);cursor:pointer;transition:all .2s}.mute-btn.muted{background:#ef44441a;border-color:#ef44444d;color:#ef4444}.volume-controls{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:var(--bg-tertiary);border-radius:8px}.volume-row{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-muted)}.volume-row span:first-child{display:flex;align-items:center;gap:.25rem;min-width:60px}.volume-row input[type=range]{flex:1;height:4px;background:var(--bg-secondary);border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.volume-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;background:var(--primary);border-radius:50%;cursor:pointer}.volume-value{min-width:35px;text-align:right;font-weight:500;color:var(--text-primary)}.soundboard-search{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;color:var(--text-muted)}.soundboard-search input{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:.85rem;outline:none}.soundboard-search input::-moz-placeholder{color:var(--text-muted)}.soundboard-search input::placeholder{color:var(--text-muted)}.category-tabs{display:flex;flex-wrap:wrap;gap:.35rem}.category-tab{display:flex;align-items:center;gap:.25rem;padding:.4rem .6rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-muted);font-size:.7rem;cursor:pointer;transition:all .15s}.category-tab:hover{border-color:var(--cat-color);color:var(--cat-color)}.category-tab.active{background:color-mix(in srgb,var(--cat-color) 15%,transparent);border-color:var(--cat-color);color:var(--cat-color)}.category-tab span{display:none}@media(min-width:500px){.category-tab span{display:inline}}.sound-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;max-height:300px;overflow-y:auto;padding-right:.25rem}.sound-btn{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:.8rem;cursor:pointer;transition:all .15s;position:relative;text-align:left}.sound-btn:hover{background:var(--bg-secondary);border-color:var(--sound-color);transform:translateY(-1px)}.sound-btn.playing{background:color-mix(in srgb,var(--sound-color) 20%,transparent);border-color:var(--sound-color);color:var(--sound-color)}.sound-btn.cached{border-color:#22c55e66}.sound-btn.cached:after{content:"";position:absolute;top:4px;left:4px;width:6px;height:6px;background:#22c55e;border-radius:50%}.sound-btn:disabled{opacity:.5;cursor:not-allowed}.spinning{animation:spin 1s linear infinite}.refresh-cache{position:absolute;top:2px;left:2px;padding:.2rem;background:#22c55ecc;border:none;border-radius:4px;color:#fff;cursor:pointer;opacity:0;transition:opacity .15s}.sound-btn:hover .refresh-cache{opacity:1}.ai-icon{color:#8b5cf6;flex-shrink:0}.sound-btn span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loop-badge{font-size:.6rem;padding:.15rem .35rem;background:#6366f133;border-radius:4px;color:#818cf8;flex-shrink:0!important}.sound-btn.curated{border-color:#06b6d44d}.sound-btn.curated:hover{border-color:#06b6d499}.variant-badge{font-size:.6rem;padding:.1rem .3rem;background:#06b6d426;border-radius:4px;color:#06b6d4;flex-shrink:0!important;font-weight:500}.sound-section-label{grid-column:1 / -1;font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:.25rem 0;font-weight:500}.sound-section-label:not(:first-child){border-top:1px solid var(--border);margin-top:.25rem;padding-top:.5rem}.sound-btn.custom{border-style:dashed}.delete-sound{position:absolute;top:2px;right:2px;padding:.2rem;background:#ef4444cc;border:none;border-radius:4px;color:#fff;cursor:pointer;opacity:0;transition:opacity .15s}.sound-btn:hover .delete-sound{opacity:1}.custom-sounds-divider{grid-column:1 / -1;font-size:.75rem;color:var(--text-muted);padding:.5rem 0;border-top:1px solid var(--border);margin-top:.5rem}.upload-section{display:flex;justify-content:center}.upload-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-tertiary);border:1px dashed var(--border);border-radius:8px;color:var(--text-muted);font-size:.8rem;cursor:pointer;transition:all .15s}.upload-btn:hover{border-color:var(--primary);color:var(--primary)}.ai-section{border-top:1px solid var(--border);padding-top:.75rem}.ai-toggle,.music-toggle{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:.85rem;cursor:pointer;transition:all .15s}.ai-toggle:hover,.music-toggle:hover{border-color:var(--primary)}.ai-toggle span,.music-toggle span{flex:1;text-align:left}.ai-panel,.music-panel{padding:.75rem;background:var(--bg-secondary);border-radius:8px;margin-top:.5rem}.ai-hint,.music-hint{font-size:.8rem;color:var(--text-muted);margin-bottom:.5rem}.ai-panel textarea{width:100%;padding:.5rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.85rem;resize:none;margin-bottom:.5rem}.ai-panel textarea:focus{outline:none;border-color:var(--primary)}.generate-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.6rem;background:linear-gradient(135deg,#8b5cf6,#6366f1);border:none;border-radius:8px;color:#fff;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.generate-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf666}.generate-btn:disabled{opacity:.5;cursor:not-allowed}.ai-note{font-size:.7rem;color:var(--text-muted);margin-top:.5rem;text-align:center}.music-section{border-top:1px solid var(--border);padding-top:.75rem}.now-playing{font-size:.65rem;padding:.15rem .4rem;background:#22c55e33;border-radius:4px;color:#22c55e;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.music-now-playing{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:8px;color:#22c55e;font-size:.8rem;margin-bottom:.5rem}.music-now-playing .pulse-icon{animation:pulse 2s ease-in-out infinite}.music-now-playing span{flex:1}.stop-music-btn{padding:.3rem;background:#ef444433;border:1px solid rgba(239,68,68,.4);border-radius:4px;color:#ef4444;cursor:pointer;transition:all .15s}.stop-music-btn:hover{background:#ef44444d}.theme-accordion-list{display:flex;flex-direction:column;gap:.35rem}.theme-accordion{border-radius:8px;overflow:hidden}.theme-accordion-header{display:flex;align-items:center;gap:.5rem;width:100%;padding:.6rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:.8rem;cursor:pointer;transition:all .15s;text-align:left}.theme-accordion-header:hover{border-color:var(--theme-color)}.theme-accordion-header.playing{background:color-mix(in srgb,var(--theme-color) 10%,transparent);border-color:var(--theme-color)}.theme-playing-dot{width:8px;height:8px;background:#22c55e;border-radius:50%;flex-shrink:0;animation:pulse 2s ease-in-out infinite}.theme-track-list{display:flex;flex-direction:column;gap:.2rem;max-height:250px;overflow-y:auto;padding:.35rem 0 .35rem 1.5rem}.theme-track-list::-webkit-scrollbar{width:4px}.theme-track-list::-webkit-scrollbar-track{background:transparent}.theme-track-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.track-btn{display:flex;align-items:center;gap:.4rem;width:100%;padding:.4rem .6rem;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-muted);font-size:.75rem;cursor:pointer;transition:all .12s;text-align:left;position:relative}.track-btn:hover{background:var(--bg-tertiary);border-color:var(--border);color:var(--text-primary)}.track-btn.playing{background:color-mix(in srgb,var(--theme-color) 15%,transparent);border-color:var(--theme-color);color:var(--theme-color);font-weight:500}.track-btn span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-btn:disabled{opacity:.6;cursor:wait}.track-btn.ai-generate-track{margin-top:.25rem;border-top:1px solid var(--border);padding-top:.5rem;color:#8b5cf6;font-style:italic}.track-btn.ai-generate-track:hover{background:#8b5cf61a;border-color:#8b5cf64d}.track-btn.ai-generate-track.cached{border-color:#22c55e66}.refresh-cache-inline{padding:.15rem;background:#22c55eb3;border:none;border-radius:3px;color:#fff;cursor:pointer;opacity:0;transition:opacity .15s;flex-shrink:0}.track-btn:hover .refresh-cache-inline{opacity:1}.theme-info{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;overflow:hidden}.theme-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.theme-desc{font-size:.65rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.generating-label{font-size:.65rem;color:#8b5cf6;white-space:nowrap}.ai-options{margin-bottom:.75rem}.ai-options label{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:var(--text-muted)}.ai-options input[type=range]{width:100%;height:4px;background:var(--bg-tertiary);border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.ai-options input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;background:#8b5cf6;border-radius:50%;cursor:pointer}.sound-grid::-webkit-scrollbar{width:4px}.sound-grid::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:2px}.sound-grid::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.sound-grid::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.wiki-link{background:none;border:none;padding:0;margin:0;font-family:inherit;font-size:inherit;line-height:inherit;min-height:auto;cursor:pointer;color:#eab308;text-decoration:underline;text-decoration-style:dotted;text-decoration-color:#eab308;text-underline-offset:2px;font-weight:500;transition:all .2s ease;display:inline;transform:none;filter:none}.wiki-link:hover{color:#f59e0b;text-decoration-style:solid;text-decoration-color:#f59e0b;text-shadow:0 0 8px rgba(234,179,8,.3);transform:none;filter:none}.wiki-link:active{color:#eab308;transform:none;filter:none}.wiki-link-broken{color:#8b5cf6;text-decoration:underline;text-decoration-style:wavy;text-decoration-color:#8b5cf6;cursor:not-allowed;opacity:.7;background:none;border:none;padding:0;margin:0}.wiki-link-broken:hover{color:#a78bfa;text-decoration-color:#a78bfa}.inline-edit{display:inline-flex;align-items:center;gap:6px;cursor:pointer;padding:2px 4px;margin:-2px -4px;border-radius:4px;transition:background .15s}.inline-edit:not(.disabled):hover{background:var(--bg-tertiary)}.inline-edit:not(.disabled):focus{outline:none;background:var(--bg-tertiary);box-shadow:0 0 0 2px var(--hope-color)}.inline-edit.disabled{cursor:default}.inline-edit-value{margin:0;line-height:inherit;font-size:inherit;font-weight:inherit;color:inherit}.inline-edit-placeholder{color:var(--text-secondary);font-style:italic}.inline-edit-icon{flex-shrink:0;opacity:0;color:var(--text-secondary);transition:opacity .15s}.inline-edit:hover .inline-edit-icon{opacity:1}.inline-edit.editing{display:flex;align-items:center;gap:8px;padding:0;margin:0;cursor:default}.inline-edit-input{flex:1;min-width:100px;padding:4px 8px;font-size:inherit;font-weight:inherit;font-family:inherit;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;outline:none;transition:border-color .15s,box-shadow .15s}.inline-edit-input:focus{border-color:var(--hope-color);box-shadow:0 0 0 2px #eab30833}.inline-edit-input::-moz-placeholder{color:var(--text-secondary)}.inline-edit-input::placeholder{color:var(--text-secondary)}.inline-edit-actions{display:flex;gap:4px}.inline-edit-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:4px;cursor:pointer;transition:background .15s,color .15s}.inline-edit-btn.save{background:#22c55e;color:#fff}.inline-edit-btn.save:hover{background:#16a34a}.inline-edit-btn.cancel{background:var(--bg-tertiary);color:var(--text-secondary)}.inline-edit-btn.cancel:hover{background:#ef4444;color:#fff}.inline-edit-btn:disabled{opacity:.5;cursor:not-allowed}.inline-edit.large .inline-edit-input{padding:6px 12px;font-size:1.25rem}.inline-edit.large .inline-edit-btn{width:28px;height:28px}.lore-card{overflow:hidden}.lore-card.hidden-entry{border-color:var(--fear-color);background:linear-gradient(135deg,rgba(139,92,246,.1),var(--card-bg))}.lore-header{display:flex;align-items:center;gap:1rem;cursor:pointer;padding:0}.lore-type-icon{width:48px;height:48px;border-radius:10px;background:linear-gradient(135deg,var(--hope-color),var(--fear-color));display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.lore-info{flex:1;min-width:0}.lore-title-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.lore-title-row h3{font-size:1.15rem;margin:0}.lore-type{color:var(--text-muted);font-size:.85rem;text-transform:capitalize}.lore-details{padding-top:1.5rem;border-top:1px solid var(--border);margin-top:1.5rem;animation:slideIn .3s ease}.lore-content{margin-bottom:1.5rem;line-height:1.7;white-space:pre-wrap}.lore-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.lore-actions{display:flex;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border)}.lore-actions .btn{flex:1}.entity-viewer-title{display:flex;align-items:center;gap:.75rem}.entity-type-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:var(--hope-color);color:var(--bg-primary)}.entity-viewer-content{padding:0}.entity-viewer-content .card-actions{display:none}.entity-viewer-error{padding:2rem;text-align:center;color:var(--text-muted)}.entity-viewer-error p{margin:0;font-size:1.1rem}.relationship-graph-container{padding:0;width:100%;height:calc(100vh - 80px);background:radial-gradient(circle at center,#1a1b26,#0f1016);position:relative;overflow:hidden;display:flex;flex-direction:column}.graph-controls-container{position:relative;z-index:20;display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}.graph-top-bar{width:100%;pointer-events:auto;background:#0f172ae6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(251,191,36,.3);border-top:none;border-left:none;border-right:none;border-radius:0;padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;box-shadow:0 4px 20px #0006}.graph-top-bar:hover{border-bottom-color:#fbbf2480}.graph-bar-header{display:flex;align-items:center}.graph-header-content{display:flex;align-items:center;gap:1.5rem}.graph-header-content h2{font-family:Cinzel,serif;font-size:1.5rem;color:#e2e8f0;display:flex;align-items:center;gap:.75rem;margin:0;text-shadow:0 0 10px rgba(226,232,240,.2)}.graph-header-content h2 svg{color:#fbbf24;filter:drop-shadow(0 0 5px rgba(251,191,36,.5))}.graph-subtitle{font-family:Crimson Text,serif;font-size:1rem;color:#94a3b8;font-style:italic;margin:0;border-left:1px solid rgba(255,255,255,.1);padding-left:1rem}.graph-bar-actions{display:flex;align-items:center;gap:1rem}.control-group{display:flex;align-items:center;gap:.5rem}.divider{width:1px;height:24px;background:#ffffff1a;margin:0 .25rem}.btn-icon-bar{background:transparent;border:none;color:#94a3b8;padding:.5rem;border-radius:50%;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-icon-bar:hover{color:#fbbf24;background:#fbbf241a;transform:translateY(-1px)}.btn-toggle{background:transparent;border:1px solid transparent;color:#94a3b8;padding:.4rem .8rem;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;font-family:Cinzel,serif;font-size:.9rem}.btn-toggle:hover{color:#e2e8f0;background:#ffffff0d}.btn-toggle.active{background:#fbbf241a;color:#fbbf24;border-color:#fbbf2433}.btn-label{font-weight:600;letter-spacing:.05em}.graph-filter-popover{pointer-events:auto;background:#0f172af2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(251,191,36,.3);border-top:none;border-radius:0 0 16px 16px;padding:1.5rem;width:320px;margin-right:2rem;box-shadow:0 10px 30px #00000080;animation:slideDown .3s cubic-bezier(.16,1,.3,1)}.btn-close{background:transparent;border:none;color:#64748b;cursor:pointer}.btn-close:hover{color:#ef4444}.focus-group{background:#fbbf241a;padding:.25rem .75rem;border-radius:20px;border:1px solid rgba(251,191,36,.2)}.focus-label{font-family:Cinzel,serif;font-size:.8rem;color:#fbbf24;white-space:nowrap}.btn-danger{color:#ef4444}.btn-danger:hover{color:#f87171;background:#ef44441a}.graph-canvas{position:relative;flex:1;width:100%;border:none;border-radius:0;background:transparent;cursor:grab;overflow:hidden}.graph-canvas:active{cursor:grabbing}.node-circle{filter:drop-shadow(0 0 5px rgba(255,255,255,.3))}.node:hover .node-circle{filter:drop-shadow(0 0 15px rgba(255,255,255,.8));stroke:#fff;stroke-width:2px}.node-label{pointer-events:none;font-family:Cinzel,serif;text-transform:uppercase;letter-spacing:.1em;font-size:10px;fill:#e2e8f0cc;text-shadow:0 0 5px #000}.node:hover .node-label{fill:#fbbf24;font-weight:700;font-size:12px;text-shadow:0 0 10px rgba(251,191,36,.5)}.node-type-label{font-family:Inter,sans-serif;font-size:8px;fill:#94a3b899;text-transform:uppercase;letter-spacing:.05em}.graph-controls-header{border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:1rem;margin-bottom:1rem}.graph-controls-header h3{font-family:Cinzel,serif;color:#fbbf24;font-size:1.2rem;text-transform:uppercase;letter-spacing:.05em}.graph-controls-header svg{color:#fbbf24}.graph-controls-title{color:#94a3b8;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem;font-weight:600}.graph-type-checkbox{padding:.4rem .6rem;border-radius:6px;transition:all .2s ease}.graph-type-checkbox:hover{background:#ffffff0d}.graph-type-checkbox input[type=checkbox]{accent-color:#fbbf24}.graph-type-checkbox span{color:#e2e8f0;font-family:Inter,sans-serif;font-size:.9rem}.graph-controls-actions .btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#cbd5e1;font-size:.8rem;border-radius:6px}.graph-controls-actions .btn:hover{background:#ffffff1a;color:#fff;border-color:#fff3}.focus-mode-active{background:#fbbf241a;border-left:3px solid #fbbf24;padding:1rem;border-radius:0 6px 6px 0}.focus-mode-active p{color:#fbbf24;font-family:Crimson Text,serif;font-style:italic}@media(max-width:768px){.relationship-graph-container{height:calc(100vh - 60px)}.graph-top-bar{padding:.5rem 1rem;gap:.5rem}.graph-header-content h2{font-size:1.2rem}.graph-subtitle{font-size:.8rem;padding-left:.5rem}}.dashboard-view{padding:1rem;display:flex;flex-direction:column;gap:1.5rem}@media(min-width:768px){.dashboard-view{padding:1.5rem}}@media(min-width:1024px){.dashboard-view{padding:2rem;gap:2rem}}.campaign-header{display:flex;flex-direction:column;gap:1rem;padding:1rem}@media(min-width:768px){.campaign-header{flex-direction:row;justify-content:space-between;align-items:flex-start;padding:1.5rem}}@media(min-width:1024px){.campaign-header{padding:2rem}}.campaign-info h1{font-size:1.75rem;margin-bottom:.5rem;background:linear-gradient(135deg,var(--hope-color),var(--fear-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media(min-width:768px){.campaign-info h1{font-size:2rem}}@media(min-width:1024px){.campaign-info h1{font-size:2.5rem}}.campaign-info p{font-size:.95rem;color:var(--text-muted);line-height:1.6}@media(min-width:768px){.campaign-info p{font-size:1.1rem}}.stats-row{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:768px){.stats-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}}.stat-card{display:flex;align-items:center;gap:1.5rem;padding:1.5rem}.stat-icon{width:64px;height:64px;border-radius:12px;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));display:flex;align-items:center;justify-content:center;color:var(--bg-primary);flex-shrink:0}.stat-content h3{font-size:2rem;margin-bottom:.25rem}.stat-content p{color:var(--text-muted);font-size:.95rem}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:768px){.dashboard-grid{grid-template-columns:repeat(2,1fr);gap:2rem}}@media(min-width:1024px){.dashboard-grid{grid-template-columns:repeat(3,1fr)}}.dashboard-section h2{font-size:1.5rem;margin-bottom:1.5rem}.quick-actions-grid{display:flex;flex-direction:column;gap:1rem}.quick-action-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;text-decoration:none;color:var(--text-primary);transition:all .3s ease;position:relative}.quick-action-card:hover{transform:translate(8px)}.action-icon{font-size:2rem;flex-shrink:0}.action-content{flex:1}.action-content h4{font-size:1rem;margin-bottom:.25rem}.action-content p{font-size:.85rem;color:var(--text-muted)}.external-icon{color:var(--text-muted);flex-shrink:0}.recent-sessions{display:flex;flex-direction:column;gap:1rem}.recent-session-card{display:flex;gap:1rem;padding:1.25rem}.session-badge{width:48px;height:48px;border-radius:8px;background:linear-gradient(135deg,var(--hope-color),var(--fear-color));display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;flex-shrink:0}.session-content{flex:1}.session-content h4{font-size:1.1rem;margin-bottom:.25rem}.session-date{color:var(--text-muted);font-size:.85rem;margin-bottom:.5rem}.session-preview{color:var(--text-muted);font-size:.9rem;line-height:1.5}.campaign-form{display:flex;flex-direction:column;gap:1.5rem}.character-card{overflow:hidden;padding:1rem}@media(min-width:768px){.character-card{padding:1.5rem}}.character-link-status{display:flex;align-items:center;gap:.5rem;color:var(--hope-color);font-size:.85rem;font-weight:500}.character-sheet-link{margin-bottom:1.5rem}.character-sheet-link .btn{width:100%;justify-content:center;padding:1rem 1.5rem;font-size:1rem}.notes-section{margin-bottom:1.5rem;padding:1rem;background:var(--bg-tertiary);border-radius:8px}.notes-section h4{font-size:.95rem;margin-bottom:.75rem;color:var(--text-muted)}.notes-section p{line-height:1.7;white-space:pre-wrap}.character-header{display:flex;align-items:center;gap:1rem;cursor:pointer;padding:0}.character-avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--hope-color),var(--fear-color));display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;overflow:hidden;flex-shrink:0}.character-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.character-avatar span{font-family:Cinzel,serif;color:#fff;flex-shrink:0}.character-info{flex:1;min-width:0}.character-info h3{font-size:1.25rem;margin-bottom:.25rem}.player-name{font-size:.85rem;color:var(--text-secondary);font-style:italic;margin-bottom:.25rem}.character-class{color:var(--hope-color);font-size:.9rem;font-weight:500;margin-bottom:.25rem}.character-ancestry{color:var(--text-muted);font-size:.85rem}.character-details{padding-top:1.5rem;border-top:1px solid var(--border);margin-top:1.5rem;animation:slideIn .3s ease}.stats-section{margin-bottom:1.5rem}.stats-section h4{font-size:1rem;margin-bottom:1rem;color:var(--text-muted)}.traits-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}@media(min-width:768px){.traits-grid{grid-template-columns:repeat(3,1fr)}}.trait{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-tertiary);border-radius:8px}.trait-label{font-size:.85rem;color:var(--text-muted)}.trait-value{font-weight:700;font-size:1.1rem;color:var(--hope-color)}.vitals-section{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:1.5rem}@media(min-width:768px){.vitals-section{grid-template-columns:1fr 1fr}}.vital h4{font-size:.9rem;margin-bottom:.75rem;color:var(--text-muted)}.slots{display:flex;gap:.5rem}.slot{width:24px;height:24px;border-radius:4px;border:2px solid var(--border);transition:all .2s ease}.slot.filled.hp{background:var(--hope-color);border-color:var(--hope-color)}.slot.filled.stress{background:var(--fear-color);border-color:var(--fear-color)}.slot.empty{background:transparent}.combat-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem}@media(min-width:768px){.combat-stats{grid-template-columns:repeat(3,1fr)}}.stat-box{display:flex;flex-direction:column;align-items:center;padding:.75rem;background:var(--bg-tertiary);border-radius:8px}.stat-label{font-size:.8rem;color:var(--text-muted);margin-bottom:.5rem}.stat-value{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.experiences-section{margin-bottom:1.5rem}.experiences-section h4{font-size:1rem;margin-bottom:.75rem;color:var(--text-muted)}.experiences-list{display:flex;flex-wrap:wrap;gap:.5rem}.backstory-section,.dm-notes-section{margin-bottom:1.5rem}.backstory-section h4,.dm-notes-section h4{font-size:1rem;margin-bottom:.75rem;color:var(--text-muted);display:flex;align-items:center;gap:.5rem}.dm-notes-section{padding:1rem;background:#8b5cf61a;border:1px solid var(--fear-color);border-radius:8px}.dm-notes-section h4{color:var(--fear-color)}.character-actions{display:flex;gap:.75rem;flex-wrap:wrap;padding-top:1rem;border-top:1px solid var(--border)}.character-actions .btn{flex:1;min-width:-moz-fit-content;min-width:fit-content}.character-form{display:flex;flex-direction:column;gap:1.5rem}.avatar-section{display:flex;align-items:center;gap:2rem;padding:1.5rem;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border)}.avatar-preview{width:120px;height:120px;border-radius:50%;overflow:hidden;border:3px solid var(--border);background:var(--bg-tertiary);flex-shrink:0}.avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.85rem;text-align:center}.avatar-upload .btn{cursor:pointer;width:-moz-fit-content;width:fit-content}.avatar-upload small{color:var(--text-muted);font-size:.85rem}.character-form-simple .input-group{margin-bottom:0}.external-link-inline{margin-left:.75rem;font-size:.85rem;color:var(--hope-color);text-decoration:none;display:inline-flex;align-items:center;gap:.35rem;font-weight:400;transition:opacity .2s ease}.external-link-inline:hover{opacity:.7}.input-hint{display:block;margin-top:.5rem;font-size:.85rem;color:var(--text-muted);font-style:italic}.form-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:768px){.form-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}}.form-grid .full-width{grid-column:1 / -1}.traits-section h4,.slots-section h4{font-size:1.1rem;margin-bottom:1rem}.traits-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media(min-width:768px){.traits-form-grid{grid-template-columns:repeat(3,1fr)}}.slots-section{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:768px){.slots-section{grid-template-columns:1fr 1fr}}.slot-group h4{font-size:.95rem;margin-bottom:.75rem;color:var(--text-muted)}.slot-toggles{display:flex;gap:.5rem}.slot-toggle{width:40px;height:40px;border-radius:6px;border:2px solid var(--border);background:transparent;color:var(--text-muted);font-weight:600;transition:all .2s ease}.slot-toggle:hover{border-color:var(--text-primary)}.slot-toggle.filled.hp{background:var(--hope-color);border-color:var(--hope-color);color:var(--bg-primary)}.slot-toggle.filled.stress{background:var(--fear-color);border-color:var(--fear-color);color:#fff}.experiences-form-section h4{font-size:1.1rem;margin-bottom:1rem}.experience-input-group{display:flex;gap:.75rem;margin-bottom:1rem}.experience-input-group input{flex:1;padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary)}.experiences-tags{display:flex;flex-wrap:wrap;gap:.5rem}.experiences-tags .badge{display:flex;align-items:center;gap:.5rem}.experiences-tags .badge button{padding:0;background:transparent;border:none;color:inherit;display:flex;align-items:center;opacity:.7;transition:opacity .2s ease}.experiences-tags .badge button:hover{opacity:1}.form-actions{display:flex;flex-direction:column;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border)}.form-actions .btn{width:100%}@media(min-width:768px){.form-actions{flex-direction:row;gap:1rem}.form-actions .btn{width:auto}}@media(max-width:767px){.avatar-section{flex-direction:column;gap:1rem;padding:1rem}.avatar-preview{width:100px;height:100px}}.ai-generate-btn{display:flex;align-items:center;gap:.5rem}.ai-generate-btn:disabled{opacity:.5;cursor:not-allowed}.generic-form{max-width:800px}.form-section{margin-bottom:2rem;padding:1.5rem;background:var(--bg-tertiary);border-radius:12px;border:1px solid var(--border)}.form-section h3{font-size:1.125rem;margin-bottom:1.25rem;color:var(--text-primary)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.section-header h3{margin-bottom:0}.form-row{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:1rem}@media(min-width:768px){.form-row{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.form-row{grid-template-columns:repeat(3,1fr)}}.dynamic-fields-grid{display:flex;flex-direction:column;gap:.75rem}.dynamic-field-row{display:flex;gap:.5rem;align-items:center}.dynamic-field-row .field-name{flex:2}.dynamic-field-row .field-value{flex:1;max-width:120px}.dynamic-field-row .btn-icon{flex-shrink:0;min-width:44px;min-height:44px}.ability-field{padding:1rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border)}.ability-header{display:flex;gap:.5rem;align-items:center;margin-bottom:.75rem}.ability-name{flex:1;font-weight:600}.ability-field textarea{width:100%;resize:vertical}.empty-state{text-align:center;padding:2rem;color:var(--text-muted);font-style:italic}.btn-sm{padding:.5rem .75rem;font-size:.875rem}.btn-danger-ghost{background:transparent;color:#ef4444;border:1px solid transparent}.btn-danger-ghost:hover{background:#ef44441a;border-color:#ef4444}@media(max-width:767px){.form-section{padding:1rem}.section-header{flex-direction:column;align-items:flex-start;gap:.75rem}.section-header .btn{width:100%}.dynamic-field-row{flex-wrap:wrap}.dynamic-field-row .field-name{flex:1 1 100%}.dynamic-field-row .field-value{flex:1 1 auto;max-width:none}.dynamic-field-row .btn-icon{flex:0 0 auto}.ability-header{flex-direction:column;align-items:stretch}.ability-header .btn-icon{align-self:flex-end}}.generic-card .character-class{font-size:.9rem;color:#6366f1;font-weight:500;margin-top:.25rem}.generic-card .character-level{font-size:.85rem;color:var(--text-muted);margin-top:.25rem}.stats-section{margin-bottom:1.5rem;padding:1rem;background:var(--bg-tertiary);border-radius:8px;border:1px solid var(--border)}.stats-section h4{font-size:.95rem;margin-bottom:1rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.vitals-section{background:linear-gradient(135deg,#6366f11a,#8b5cf61a);border-color:#6366f14d}.vitals-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.vital-box{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border)}.vital-icon{color:#ef4444}.vital-info{display:flex;flex-direction:column;gap:.25rem}.vital-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.vital-value{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.attributes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}@media(min-width:768px){.attributes-grid{grid-template-columns:repeat(3,1fr)}}.attribute-box{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border);text-align:center}.attribute-label{font-size:.85rem;color:var(--text-muted);font-weight:500}.attribute-value{font-size:1.5rem;font-weight:700;color:#6366f1}.skills-list{display:flex;flex-direction:column;gap:.5rem}.skill-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-secondary);border-radius:6px;border:1px solid var(--border)}.skill-name{font-weight:500;color:var(--text-primary)}.skill-value{font-weight:700;color:#8b5cf6;min-width:40px;text-align:right}.abilities-list{display:flex;flex-direction:column;gap:1rem}.ability-item{padding:1rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border)}.ability-name{display:block;font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.ability-description{font-size:.9rem;color:var(--text-secondary);line-height:1.6;margin:0;white-space:pre-wrap}.notes-section,.backstory-section,.dm-notes-section{margin-bottom:1.5rem;padding:1rem;background:var(--bg-tertiary);border-radius:8px;border:1px solid var(--border)}.notes-section h4,.backstory-section h4,.dm-notes-section h4{font-size:.95rem;margin-bottom:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600;display:flex;align-items:center;gap:.5rem}.notes-section p,.backstory-section p,.dm-notes-section p{line-height:1.7;white-space:pre-wrap;margin:0}.dm-notes-section{background:#8b5cf60d;border-color:#8b5cf64d}@media(max-width:767px){.vitals-grid{grid-template-columns:1fr}.attributes-grid{grid-template-columns:repeat(2,1fr)}.vital-box{flex-direction:row}.stats-section{padding:.75rem}}.view-subtitle{color:var(--text-muted);font-size:.95rem}.search-bar{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--card-bg);border:1px solid var(--border);border-radius:10px;margin-bottom:2rem}.search-bar input{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:1rem;outline:none}.search-bar input::-moz-placeholder{color:var(--text-muted)}.search-bar input::placeholder{color:var(--text-muted)}.characters-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:768px){.characters-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-muted)}.empty-state p{font-size:1.1rem;margin-bottom:1.5rem}.wiki-link-input-wrapper{position:relative;width:100%}.wiki-link-textarea{width:100%;padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:1rem;font-family:inherit;line-height:1.5;resize:vertical}.wiki-link-textarea:focus{outline:none;border-color:var(--hope-color);box-shadow:0 0 0 3px #eab3081a}.wiki-autocomplete-dropdown{background:var(--card-bg, #1a1a1a);border:2px solid var(--hope-color);border-radius:12px;box-shadow:0 8px 24px #000c,0 0 0 1px #000000e6;min-width:300px;max-width:400px;max-height:320px;display:flex;flex-direction:column;z-index:10000;overflow:hidden;animation:slideDown .2s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.autocomplete-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border);color:var(--text-muted);font-size:.85rem;font-weight:600}.autocomplete-results{overflow-y:auto;max-height:240px}.autocomplete-item{all:unset;display:block;padding:.75rem 1rem;cursor:pointer;border-bottom:1px solid var(--border);transition:background .15s ease;width:100%;box-sizing:border-box}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item:hover,.autocomplete-item.selected{background:linear-gradient(135deg,rgba(234,179,8,.15),transparent)}.autocomplete-item-name{font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.autocomplete-item-subtitle{font-size:.85rem;color:var(--text-muted)}.autocomplete-footer{display:flex;gap:1rem;padding:.5rem 1rem;background:var(--bg-secondary);border-top:1px solid var(--border);font-size:.75rem;color:var(--text-muted);justify-content:center}.autocomplete-footer span{white-space:nowrap}.lore-form{display:flex;flex-direction:column;gap:1.5rem}.tags-form-section label{display:block;font-weight:500;font-size:.95rem;margin-bottom:.5rem;color:var(--text-primary)}.tag-input-group{display:flex;gap:.75rem;margin-bottom:1rem}.tag-input-group input{flex:1;padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary)}.tags-list{display:flex;flex-wrap:wrap;gap:.5rem}.tags-list .badge{display:flex;align-items:center;gap:.5rem}.tags-list .badge button{padding:0;background:transparent;border:none;color:inherit;display:flex;align-items:center;opacity:.7;transition:opacity .2s ease}.tags-list .badge button:hover{opacity:1}.checkbox-group{padding:1rem;background:var(--bg-tertiary);border-radius:8px}.checkbox-group label{display:flex;align-items:center;gap:.75rem;cursor:pointer}.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer}.checkbox-group span{font-weight:500}.lore-filters{display:flex;gap:1rem;margin-bottom:2rem}.lore-filters .search-bar{flex:2}.type-filter{flex:1;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--card-bg);border:1px solid var(--border);border-radius:10px}.type-filter select{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:1rem;outline:none;cursor:pointer}.lore-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:768px){.lore-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}}.help-view{max-width:1200px;margin:0 auto;padding:2rem}.help-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:3rem;padding-bottom:2rem;border-bottom:2px solid var(--border)}.help-header svg{color:var(--hope-color);flex-shrink:0}.help-logo{max-width:200px;height:auto;max-height:80px;-o-object-fit:contain;object-fit:contain;filter:brightness(1.1)}.help-header h1{font-size:2.5rem;margin:0;color:var(--text-primary)}.help-subtitle{font-size:1.1rem;color:var(--text-muted);margin:.5rem 0 0}.help-section{margin-bottom:2rem;padding:2rem}.help-section-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.help-section-header svg{color:var(--hope-color);flex-shrink:0}.help-section-header h2{margin:0;font-size:1.8rem;color:var(--text-primary)}.help-content{color:var(--text-secondary);line-height:1.7}.help-content>p{font-size:1.1rem;margin-bottom:1.5rem}.help-content ul{margin:1rem 0 1rem 1.5rem;line-height:1.8}.help-content li{margin-bottom:.5rem}.help-feature{margin:2rem 0}.help-feature h3{font-size:1.3rem;color:var(--text-primary);margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.help-steps{display:flex;flex-direction:column;gap:1.5rem;margin:1rem 0}.help-step{display:flex;gap:1rem;align-items:flex-start}.step-number{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--hope-color);color:var(--bg-primary);font-weight:700;font-size:1rem;flex-shrink:0}.help-step>div{flex:1}.help-step strong{display:block;color:var(--text-primary);margin-bottom:.25rem;font-size:1.05rem}.help-step p{color:var(--text-muted);margin:0;font-size:.95rem}.help-tip{background:linear-gradient(135deg,rgba(234,179,8,.1),transparent);border-left:3px solid var(--hope-color);padding:1rem 1.5rem;border-radius:8px;margin:1.5rem 0}.help-tip strong{color:var(--hope-color);display:block;margin-bottom:.5rem}code{background:var(--bg-tertiary);padding:.2rem .5rem;border-radius:4px;font-family:Courier New,monospace;font-size:.9em;color:var(--hope-color);border:1px solid var(--border)}.entity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin:1.5rem 0}.entity-type{background:var(--bg-tertiary);padding:1.25rem;border-radius:8px;border:1px solid var(--border)}.entity-type strong{display:block;color:var(--text-primary);font-size:1.1rem;margin-bottom:.5rem}.entity-type p{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.5}.shortcuts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin:1.5rem 0}.shortcut{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-tertiary);border-radius:8px;border:1px solid var(--border)}.shortcut code{font-size:1rem;padding:.4rem .8rem;min-width:60px;text-align:center;flex-shrink:0}.shortcut span{color:var(--text-secondary);font-size:.9rem}.help-content a{color:var(--hope-color);text-decoration:none;display:inline-flex;align-items:center;gap:.25rem;transition:opacity .2s}.help-content a:hover{opacity:.8;text-decoration:underline}.help-footer{text-align:center;padding:3rem 2rem;margin-top:3rem;border-top:2px solid var(--border)}.help-footer p{font-size:1.1rem;color:var(--text-secondary);margin-bottom:1.5rem}.help-footer .btn{display:inline-flex;align-items:center;gap:.5rem}@media(max-width:768px){.help-view{padding:1rem}.help-header{flex-direction:column;align-items:flex-start;gap:1rem}.help-header h1{font-size:2rem}.help-section{padding:1.5rem}.entity-grid,.shortcuts-grid{grid-template-columns:1fr}.help-step{flex-direction:column}}.npcs-view{max-width:1400px;margin:0 auto}.npcs-controls{margin-bottom:2rem}.search-box{position:relative;margin-bottom:1rem}.search-box svg{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-muted)}.search-box input{width:100%;padding:.75rem 1rem .75rem 3rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:1rem}.search-box input:focus{outline:none;border-color:var(--hope-color)}.filter-tabs{display:flex;gap:.5rem;flex-wrap:wrap}.filter-tab{padding:.5rem 1rem;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s ease}.filter-tab:hover{background:var(--bg-tertiary);border-color:var(--hope-color)}.filter-tab.active{background:var(--hope-color);color:#fff;border-color:var(--hope-color)}.npcs-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:768px){.npcs-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}}.npc-card{overflow:hidden}.npc-header{display:flex;align-items:flex-start;gap:1rem;cursor:pointer;padding:0}.npc-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--hope-color),var(--fear-color));display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;overflow:hidden;flex-shrink:0}.npc-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.npc-avatar span{font-family:Cinzel,serif;color:#fff}.npc-info{flex:1;min-width:0}.npc-info h3{font-size:1.25rem;margin-bottom:.5rem}.npc-occupation,.npc-location{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-secondary);margin-bottom:.25rem}.relationship-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500;margin-top:.5rem;text-transform:capitalize}.relationship-ally{background:#22c55e1a;color:var(--hope-color);border:1px solid var(--hope-color)}.relationship-neutral{background:#9ca3af1a;color:var(--text-secondary);border:1px solid var(--border)}.relationship-enemy{background:#ef44441a;color:var(--fear-color);border:1px solid var(--fear-color)}.expand-btn{flex-shrink:0}.npc-details{padding-top:1.5rem;border-top:1px solid var(--border);margin-top:1.5rem;animation:slideIn .3s ease}.npc-section{margin-bottom:1.5rem}.npc-section h4{font-size:1rem;margin-bottom:.75rem;color:var(--text-muted)}.npc-section p{line-height:1.7;white-space:pre-wrap}.npc-actions{display:flex;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border)}.npc-actions .btn{flex:1}.npc-form{display:flex;flex-direction:column;gap:1.5rem}.avatar-section{display:flex;gap:1.5rem;align-items:center;padding:1.5rem;background:var(--bg-tertiary);border-radius:8px}.avatar-preview{width:120px;height:120px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,var(--hope-color),var(--fear-color));display:flex;align-items:center;justify-content:center;flex-shrink:0}.avatar-preview img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.9rem;text-align:center}.avatar-upload{display:flex;flex-direction:column;gap:.75rem;flex:1}.form-hint{color:var(--text-muted);font-size:.85rem}.form-error{color:var(--error-color, #ef4444);font-size:.85rem;display:block;margin-top:.25rem}@media(max-width:767px){.npc-avatar{width:60px;height:60px;font-size:1.5rem}.npc-info h3{font-size:1.1rem}.npc-actions{flex-direction:column}.npc-actions .btn{width:100%}.avatar-section{flex-direction:column;padding:1rem}.avatar-preview{width:100px;height:100px}}.locations-view{max-width:1400px;margin:0 auto}.world-map-section{margin-bottom:2rem}.world-map-section h3{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.world-map-container{display:flex;flex-direction:column;gap:1rem}.world-map-image{width:100%;height:auto;max-height:600px;-o-object-fit:contain;object-fit:contain;border-radius:8px;border:1px solid var(--border)}.map-actions{display:flex;gap:.75rem}.world-map-upload{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem;text-align:center;color:var(--text-muted)}.locations-controls{margin-bottom:2rem}.locations-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:768px){.locations-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}}.location-card{overflow:hidden}.location-header{display:flex;align-items:flex-start;gap:1rem;cursor:pointer;padding:0}.location-icon{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#10b981,#3b82f6);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.location-info{flex:1;min-width:0}.location-info h3{font-size:1.25rem;margin-bottom:.5rem}.location-type-badge{display:inline-flex;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500;text-transform:capitalize;margin-bottom:.5rem}.location-city{background:#ef44441a;color:#ef4444;border:1px solid #ef4444}.location-town{background:#3b82f61a;color:#3b82f6;border:1px solid #3b82f6}.location-village{background:#22c55e1a;color:#22c55e;border:1px solid #22c55e}.location-dungeon{background:#8b5cf61a;color:#8b5cf6;border:1px solid #8b5cf6}.location-wilderness{background:#10b9811a;color:#10b981;border:1px solid #10b981}.location-landmark{background:#eab3081a;color:#eab308;border:1px solid #eab308}.location-other{background:#9ca3af1a;color:var(--text-secondary);border:1px solid var(--border)}.location-region{font-size:.9rem;color:var(--text-secondary);margin-top:.25rem}.location-details{padding-top:1.5rem;border-top:1px solid var(--border);margin-top:1.5rem;animation:slideIn .3s ease}.location-section{margin-bottom:1.5rem}.location-section h4{font-size:1rem;margin-bottom:.75rem;color:var(--text-muted)}.location-section p{line-height:1.7;white-space:pre-wrap}.location-actions{display:flex;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border)}.location-actions .btn{flex:1}.location-map-container{display:flex;flex-direction:column;gap:.75rem}.location-map-image{width:100%;height:auto;max-height:400px;-o-object-fit:contain;object-fit:contain;border-radius:8px;border:1px solid var(--border);background:var(--bg-secondary)}.map-description{font-size:.875rem;color:var(--text-secondary);font-style:italic;margin:0}.spinner{animation:spin 1s linear infinite}.location-form{display:flex;flex-direction:column;gap:1.5rem}.notes-view{padding:1rem;max-width:1400px;margin:0 auto}@media(min-width:768px){.notes-view{padding:2rem}}.notes-controls{margin-bottom:1.5rem}.notes-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:768px){.notes-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}}.note-card{overflow:hidden}.note-header{display:flex;align-items:flex-start;gap:1rem;cursor:pointer;padding:0}.note-info{flex:1;min-width:0}.note-info h3{font-size:1.25rem;margin-bottom:.5rem}.note-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.category-badge{display:inline-flex;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500;text-transform:capitalize}.category-quest{background:#a855f71a;color:#a855f7;border:1px solid #a855f7}.category-npc{background:#3b82f61a;color:#3b82f6;border:1px solid #3b82f6}.category-location{background:#10b9811a;color:#10b981;border:1px solid #10b981}.category-combat{background:#ef44441a;color:#ef4444;border:1px solid #ef4444}.category-other{background:#9ca3af1a;color:var(--text-secondary);border:1px solid var(--border)}.note-date,.note-author{font-size:.85rem;color:var(--text-muted)}.note-details{padding-top:1.5rem;border-top:1px solid var(--border);margin-top:1.5rem;animation:slideIn .3s ease}.note-content{margin-bottom:1.5rem}.note-content p{line-height:1.7;white-space:pre-wrap}.note-actions{display:flex;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border)}.note-actions .btn{flex:1}.note-form{display:flex;flex-direction:column;gap:1.5rem}.empty-subtitle{color:var(--text-muted);font-size:.95rem;margin-bottom:1rem}.messaging-view{display:flex;height:calc(100vh - 80px);gap:0;overflow:hidden}.conversation-sidebar{width:320px;border-right:1px solid var(--border);display:flex;flex-direction:column;background:var(--bg-secondary)}.conversation-header{padding:1.5rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background:var(--bg-primary)}.conversation-header h2{margin:0;font-size:1.5rem}.conversation-header .view-subtitle{margin:.25rem 0 0;font-size:.875rem;color:var(--text-muted)}.new-conversation-menu{margin:1rem;padding:0;overflow:hidden}.new-conversation-option{width:100%;padding:1rem;display:flex;align-items:center;gap:1rem;background:var(--bg-primary);border:none;border-bottom:1px solid var(--border);cursor:pointer;transition:background .2s;text-align:left}.new-conversation-option:last-child{border-bottom:none}.new-conversation-option:hover{background:var(--bg-tertiary)}.new-conversation-option svg{color:var(--hope-color);flex-shrink:0}.new-conversation-option div{flex:1}.new-conversation-option strong{display:block;margin-bottom:.25rem}.new-conversation-option small{color:var(--text-muted);font-size:.813rem}.conversation-list{flex:1;overflow-y:auto}.conversation-item{width:100%;padding:1rem;display:flex;align-items:center;gap:.75rem;background:transparent;border:none;border-bottom:1px solid var(--border);cursor:pointer;transition:background .2s;text-align:left}.conversation-item:hover{background:var(--bg-tertiary)}.conversation-item.active{background:var(--bg-tertiary);border-left:3px solid var(--hope-color)}.conversation-item.unread{background:#eab3080d}.conversation-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.conversation-icon.announcement{background:linear-gradient(135deg,var(--hope-color),#eab308);color:#fff}.conversation-icon.dm{background:var(--bg-tertiary);color:var(--text-primary);border:2px solid var(--border)}.conversation-info{flex:1;min-width:0}.conversation-name{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.conversation-name strong{font-size:.938rem}.unread-badge{width:8px;height:8px;background:var(--fear-color);border-radius:50%;flex-shrink:0}.conversation-preview{margin:0;font-size:.813rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-time{font-size:.75rem;color:var(--text-muted);flex-shrink:0}.chat-area{flex:1;display:flex;flex-direction:column;background:var(--bg-primary);overflow:hidden}.chat-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);gap:1rem}.chat-placeholder svg{opacity:.3}.chat-placeholder h3{margin:0;font-size:1.5rem}.chat-placeholder p{margin:0;font-size:.938rem}.chat-header{padding:1rem 1.5rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:1rem;background:var(--bg-secondary)}.chat-header-icon{width:40px;height:40px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--hope-color)}.chat-header-info{flex:1}.chat-header-info h3{margin:0;font-size:1.125rem}.chat-subtitle{margin:.25rem 0 0;font-size:.813rem;color:var(--text-muted)}.messages-container{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.empty-state-small{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.empty-state-small p{margin:.5rem 0}.empty-subtitle{font-size:.875rem;color:var(--text-muted)}.message{display:flex;margin-bottom:.5rem}.message.own{justify-content:flex-end}.message.other{justify-content:flex-start}.message-bubble{max-width:70%;padding:.75rem 1rem;border-radius:1rem;position:relative}.message.own .message-bubble{background:linear-gradient(135deg,var(--hope-color),#eab308);color:#fff;border-bottom-right-radius:.25rem}.message.other .message-bubble{background:var(--bg-tertiary);color:var(--text-primary);border-bottom-left-radius:.25rem}.message-sender{font-size:.75rem;font-weight:600;margin-bottom:.25rem;opacity:.8}.message-content{font-size:.938rem;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.message-timestamp{font-size:.688rem;margin-top:.25rem;opacity:.7;text-align:right}.message-input{border-top:1px solid var(--border);padding:1rem 1.5rem;background:var(--bg-secondary)}.message-input textarea{width:100%;min-height:44px;max-height:150px;padding:.75rem;border:1px solid var(--border);border-radius:.5rem;background:var(--bg-primary);color:var(--text-primary);font-family:inherit;font-size:.938rem;resize:none;margin-bottom:.5rem}.message-input textarea:focus{outline:none;border-color:var(--hope-color)}.message-input-footer{display:flex;justify-content:space-between;align-items:center}.char-count{font-size:.75rem;color:var(--text-muted)}.char-count.warning{color:var(--fear-color);font-weight:600}.message-input-disabled{border-top:1px solid var(--border);padding:1rem 1.5rem;background:var(--bg-secondary);text-align:center;color:var(--text-muted);font-size:.875rem}.message-input-disabled p{margin:0}@media(max-width:767px){.messaging-view{flex-direction:column}.conversation-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--border)}.chat-area{width:100%}.message-bubble{max-width:85%}}.conversation-list::-webkit-scrollbar,.messages-container::-webkit-scrollbar{width:8px}.conversation-list::-webkit-scrollbar-track,.messages-container::-webkit-scrollbar-track{background:var(--bg-secondary)}.conversation-list::-webkit-scrollbar-thumb,.messages-container::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.conversation-list::-webkit-scrollbar-thumb:hover,.messages-container::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.wizard-progress{margin-bottom:2rem}.progress-steps{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.progress-step{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem;background:var(--card-bg);border:2px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s;min-width:80px;flex:1}.progress-step:hover:not(:disabled){border-color:var(--hope-color);background:var(--card-hover-bg)}.progress-step.current{border-color:var(--hope-color);background:var(--hope-color-10)}.progress-step.completed{border-color:var(--success-color);background:var(--success-color-10)}.progress-step:disabled{opacity:.4;cursor:not-allowed}.step-number{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bg);border:2px solid var(--border);font-weight:600;font-size:.875rem}.progress-step.current .step-number{border-color:var(--hope-color);background:var(--hope-color);color:#fff}.progress-step.completed .step-number{border-color:var(--success-color);background:var(--success-color);color:#fff}.step-name{font-size:.75rem;font-weight:500;text-align:center;color:var(--text-secondary)}.progress-step.current .step-name{color:var(--hope-color);font-weight:600}.progress-step.completed .step-name{color:var(--success-color)}.progress-bar{height:8px;background:var(--border);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--hope-color),var(--success-color));transition:width .3s ease;border-radius:4px}@media(max-width:768px){.progress-steps{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.5rem}.progress-step{min-width:60px;flex:0 0 auto}.step-name{display:none}}.step-navigation{display:flex;justify-content:space-between;align-items:center;padding-top:2rem;margin-top:2rem;border-top:2px solid var(--border)}.nav-buttons{display:flex;gap:1rem}@media(max-width:768px){.step-navigation{flex-direction:column;gap:1rem}.nav-buttons{width:100%;flex-direction:column}.nav-buttons button{width:100%}.step-navigation>button{width:100%}}.wizard-step{display:flex;flex-direction:column;gap:2rem}.step-header{text-align:center}.step-header h2{margin:0 0 .5rem;color:var(--hope-color)}.step-description{margin:0;color:var(--text-secondary);font-size:1.125rem}.step-content{background:var(--card-bg);border:2px solid var(--border);border-radius:12px;padding:2rem}.superadmin-view{padding:2rem;max-width:1400px;margin:0 auto}.superadmin-header{margin-bottom:2rem}.header-content{display:flex;justify-content:space-between;align-items:center;gap:2rem}.header-actions{display:flex;gap:.75rem;align-items:center}.superadmin-header h1{font-size:2rem;margin-bottom:.5rem;color:var(--danger)}.superadmin-subtitle{color:var(--text-muted);font-size:1rem}.campaigns-table{background:var(--card-bg);border-radius:12px;padding:1.5rem;overflow-x:auto}.campaigns-table table{width:100%;border-collapse:collapse}.campaigns-table thead{border-bottom:2px solid var(--border)}.campaigns-table th{text-align:left;padding:1rem;font-weight:600;color:var(--text-secondary);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.campaigns-table td{padding:1rem;border-bottom:1px solid var(--border)}.campaigns-table tbody tr:hover{background:var(--bg-tertiary)}.campaign-name{font-weight:600;color:var(--text-primary)}.game-system-badge{display:inline-block;padding:.25rem .75rem;background:var(--bg-tertiary);border-radius:6px;font-size:.875rem;color:var(--text-secondary);text-transform:capitalize}.visibility-badge,.member-count,.creator-info,.date-info{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.875rem}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.action-buttons{display:flex;gap:.5rem;align-items:center}.btn-danger{background:var(--danger);color:#fff;border:1px solid var(--danger)}.btn-danger:hover{background:#dc2626;border-color:#dc2626}.no-campaigns{text-align:center;padding:3rem;color:var(--text-muted)}.campaign-details-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000b3}.modal-content{position:relative;background:var(--card-bg);border-radius:12px;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #00000080}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--border)}.modal-header h2{font-size:1.5rem;margin:0}.modal-body{padding:1.5rem}.detail-row{margin-bottom:1.5rem}.detail-row strong{display:block;margin-bottom:.5rem;color:var(--text-secondary);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.detail-row p{margin:0;color:var(--text-primary)}.members-list,.join-requests-list{list-style:none;padding:0;margin:0}.members-list li,.join-requests-list li{padding:.75rem;background:var(--bg-tertiary);border-radius:8px;margin-bottom:.5rem;display:flex;align-items:center;gap:.75rem}.role-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.role-badge.dm{background:linear-gradient(135deg,var(--fear-color),var(--fear-secondary));color:#fff}.role-badge.player{background:linear-gradient(135deg,var(--hope-color),var(--hope-secondary));color:var(--bg-primary)}@media(max-width:767px){.superadmin-view,.campaigns-table{padding:1rem}.campaigns-table table{font-size:.875rem}.campaigns-table th,.campaigns-table td{padding:.5rem}.campaigns-table thead{display:none}.campaigns-table tr{display:block;margin-bottom:1rem;border:1px solid var(--border);border-radius:8px;padding:1rem}.campaigns-table td{display:block;padding:.5rem 0;border:none}.campaigns-table td:before{content:attr(data-label);font-weight:600;display:inline-block;margin-right:.5rem;color:var(--text-secondary)}}.api-settings{padding:2rem;max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:2rem}.settings-header{text-align:center;margin-bottom:1rem}.settings-header h2{margin:0 0 .5rem}.settings-subtitle{margin:0;color:var(--text-secondary)}.api-info{background:var(--card-bg);border-left:4px solid var(--hope-color)}.api-info h3{margin:0 0 .5rem}.api-info p{margin:0 0 1rem;color:var(--text-secondary)}.api-info ul{margin:0;padding-left:1.5rem}.api-info li{margin-bottom:.5rem;color:var(--text-secondary)}.api-section{display:flex;flex-direction:column;gap:1.5rem}.api-section-header{display:flex;justify-content:space-between;align-items:flex-start}.api-section-header h3{margin:0 0 .25rem}.api-description{margin:0;color:var(--text-secondary);font-size:.875rem}.key-status{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:500}.key-status.success{background:var(--success-color-10);color:var(--success-color);border:1px solid var(--success-color)}.key-input-section{display:flex;flex-direction:column;gap:1rem}.key-input-wrapper{display:flex;gap:.5rem}.key-input{flex:1;padding:.75rem;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text);font-family:monospace;font-size:.875rem}.btn-icon{padding:.75rem;background:var(--card-bg);border:1px solid var(--border);border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text);transition:all .2s}.btn-icon:hover{background:var(--card-hover-bg);border-color:var(--hope-color)}.key-actions{display:flex;gap:1rem}.test-result{border-left:4px solid;animation:slideIn .3s ease}.test-result.success{border-color:var(--success-color);background:var(--success-color-10)}.test-result.error{border-color:var(--error-color);background:var(--error-color-10)}.test-result-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.test-result.success .test-result-header{color:var(--success-color)}.test-result.error .test-result-header{color:var(--error-color)}.test-result p{margin:0 0 .5rem;color:var(--text)}.test-response{margin-top:.5rem;padding:.5rem;background:var(--bg);border-radius:4px}.test-response small{display:block;margin-bottom:.25rem;color:var(--text-secondary);font-weight:600}.test-response code{display:block;font-family:monospace;font-size:.875rem;color:var(--text)}@media(max-width:768px){.api-settings{padding:1rem}.api-section-header{flex-direction:column;gap:1rem}.key-actions{flex-direction:column}.key-actions button{width:100%}}.items-view{max-width:1400px;margin:0 auto}.items-controls{margin-bottom:2rem}.items-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:768px){.items-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}}.item-card{overflow:hidden;position:relative}.item-card.hidden-item{opacity:.7;border-style:dashed}.item-header{display:flex;align-items:flex-start;gap:1rem;cursor:pointer;padding:0}.item-icon{width:60px;height:60px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.5rem}.item-icon.weapon{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.item-icon.armor{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.item-icon.equipment{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.item-info{flex:1;min-width:0}.item-info h3{font-size:1.15rem;margin-bottom:.25rem;display:flex;align-items:center;gap:.5rem}.item-type-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.item-type-badge.weapon{background:#ef444426;color:#ef4444}.item-type-badge.armor{background:#3b82f626;color:#3b82f6}.item-type-badge.equipment{background:#8b5cf626;color:#8b5cf6}.item-subtitle{font-size:.9rem;color:var(--text-secondary);margin-bottom:.5rem}.item-tags{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.5rem}.item-tag{padding:.15rem .5rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;font-size:.75rem;color:var(--text-secondary)}.item-details{padding-top:1.5rem;border-top:1px solid var(--border);margin-top:1.5rem;animation:slideIn .3s ease}.item-section{margin-bottom:1.25rem}.item-section h4{font-size:.85rem;margin-bottom:.5rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.item-section p{line-height:1.6;white-space:pre-wrap}.item-actions{display:flex;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border)}.item-actions .btn{flex:1}.dh-weapon-card{border:2px solid transparent;background:linear-gradient(var(--card-bg),var(--card-bg)) padding-box,linear-gradient(135deg,var(--hope-color),var(--fear-color)) border-box}.dh-weapon-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem}.dh-stat{display:flex;flex-direction:column;padding:.5rem;background:var(--bg-tertiary);border-radius:6px}.dh-stat-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.dh-stat-value{font-size:.95rem;font-weight:600;color:var(--text-primary)}.dh-damage-tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1rem}.dh-tier{text-align:center;padding:.5rem;background:var(--bg-tertiary);border-radius:6px;border:1px solid var(--border)}.dh-tier.current{border-color:var(--hope-color);background:#fbbf241a}.dh-tier-label{font-size:.65rem;color:var(--text-muted);text-transform:uppercase;margin-bottom:.25rem}.dh-tier-damage{font-size:.9rem;font-weight:700;color:var(--text-primary)}.dh-features{display:flex;flex-wrap:wrap;gap:.5rem}.dh-feature{padding:.25rem .75rem;background:linear-gradient(135deg,#7c3aed26,#fbbf2426);border:1px solid var(--fear-color);border-radius:20px;font-size:.8rem;font-weight:500;color:var(--text-primary)}.dh-armor-stats{display:flex;gap:1rem;margin-bottom:1rem}.dh-armor-score{display:flex;flex-direction:column;align-items:center;padding:1rem;background:linear-gradient(135deg,#3b82f633,#3b82f61a);border:2px solid #3b82f6;border-radius:12px;min-width:80px}.dh-armor-score .value{font-size:2rem;font-weight:700;color:#3b82f6;line-height:1}.dh-armor-score .label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;margin-top:.25rem}.item-form{display:flex;flex-direction:column;gap:1.5rem}.item-type-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.type-option{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 1rem;background:var(--bg-secondary);border:2px solid var(--border);border-radius:12px;cursor:pointer;transition:all .2s ease}.type-option:hover{border-color:var(--hope-color);background:var(--bg-tertiary)}.type-option.selected{border-color:var(--hope-color);background:#fbbf241a}.type-option svg{color:var(--text-secondary)}.type-option.selected svg{color:var(--hope-color)}.type-option span{font-weight:500;color:var(--text-primary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-row-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.tier-damage-section{background:var(--bg-tertiary);padding:1rem;border-radius:8px}.tier-damage-section h4{margin-bottom:1rem;font-size:.9rem;color:var(--text-secondary)}.tier-damage-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.tier-input{display:flex;flex-direction:column;gap:.5rem}.tier-input label{font-size:.75rem;color:var(--text-muted);text-align:center}.tier-input .inputs{display:flex;gap:.25rem}.tier-input select,.tier-input input{width:50%;padding:.5rem;font-size:.85rem;text-align:center}.features-multiselect{display:flex;flex-wrap:wrap;gap:.5rem;padding:.75rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;max-height:150px;overflow-y:auto}.feature-checkbox{display:flex;align-items:center;gap:.5rem;padding:.25rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:20px;cursor:pointer;transition:all .2s ease}.feature-checkbox:hover{border-color:var(--hope-color)}.feature-checkbox.selected{background:#fbbf2426;border-color:var(--hope-color);color:var(--hope-color)}.feature-checkbox input{display:none}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dynamic-item-form{max-width:600px}.dynamic-item-form .form-header{margin-bottom:1.5rem}.dynamic-item-form .form-header h3{margin:0;font-size:1.25rem}.dynamic-item-form .form-subtitle{color:var(--text-muted);font-size:.9rem;margin-top:.25rem}.dynamic-item-form .form-section{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.dynamic-item-form .form-section:last-of-type{border-bottom:none}.dynamic-item-form .form-section h4{font-size:.85rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem}.dynamic-item-form .form-group{margin-bottom:1rem}.dynamic-item-form .form-group label{display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.dynamic-item-form .form-group label .required{color:#ef4444;margin-left:.25rem}.dynamic-item-form .form-group input,.dynamic-item-form .form-group select,.dynamic-item-form .form-group textarea{width:100%;padding:.625rem .75rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;font-size:.95rem;color:var(--text-primary);transition:border-color .2s ease}.dynamic-item-form .form-group input:focus,.dynamic-item-form .form-group select:focus,.dynamic-item-form .form-group textarea:focus{outline:none;border-color:var(--hope-color)}.dynamic-item-form .form-group input.error,.dynamic-item-form .form-group select.error,.dynamic-item-form .form-group textarea.error{border-color:#ef4444}.dynamic-item-form .form-group .help-text{display:block;font-size:.8rem;color:var(--text-muted);margin-top:.25rem}.dynamic-item-form .form-group .error-text{display:block;font-size:.8rem;color:#ef4444;margin-top:.25rem}.dynamic-item-form .checkbox-group{margin-bottom:.75rem}.dynamic-item-form .checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.dynamic-item-form .checkbox-label input[type=checkbox]{width:auto;cursor:pointer}.dynamic-item-form .multiselect-options{display:flex;flex-wrap:wrap;gap:.5rem;padding:.75rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;max-height:200px;overflow-y:auto}.dynamic-item-form .checkbox-option{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:20px;cursor:pointer;font-size:.85rem;transition:all .2s ease}.dynamic-item-form .checkbox-option:hover{border-color:var(--hope-color)}.dynamic-item-form .checkbox-option input[type=checkbox]:checked+span{color:var(--hope-color)}.dynamic-item-form .form-actions{display:flex;gap:1rem;padding-top:1rem;border-top:1px solid var(--border)}.dynamic-item-form .form-actions .btn{flex:1}.form-type-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.dynamic-form-wrapper{display:flex;flex-direction:column}.dynamic-item-card{padding:1.25rem}.dynamic-item-card .item-card-header{margin-bottom:1rem}.dynamic-item-card .item-title-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.dynamic-item-card .item-icon{width:40px;height:40px;background:var(--bg-tertiary);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.dynamic-item-card .item-name{font-size:1.15rem;font-weight:600;margin:0}.dynamic-item-card .item-meta{display:flex;align-items:center;gap:.75rem}.dynamic-item-card .item-system{font-size:.8rem;color:var(--text-muted)}.dynamic-item-card .item-image{margin-bottom:1rem;border-radius:8px;overflow:hidden;max-height:200px}.dynamic-item-card .item-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.dynamic-item-card .item-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:1rem}.dynamic-item-card .primary-stats{background:var(--bg-tertiary);padding:.75rem;border-radius:8px}.dynamic-item-card .secondary-stats{background:var(--bg-secondary);padding:.75rem;border-radius:8px;border:1px solid var(--border)}.dynamic-item-card .stat-item{display:flex;flex-direction:column;gap:.125rem}.dynamic-item-card .stat-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.dynamic-item-card .stat-value{font-size:.9rem;font-weight:500;color:var(--text-primary)}.dynamic-item-card .item-description{margin-bottom:1rem;padding:.75rem;background:var(--bg-secondary);border-radius:8px;border-left:3px solid var(--hope-color)}.dynamic-item-card .item-description p{margin:0;font-size:.9rem;line-height:1.5;color:var(--text-secondary)}.dynamic-item-card .hidden-indicator{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#ef44441a;border:1px dashed #ef4444;border-radius:6px;font-size:.85rem;color:#ef4444;margin-bottom:1rem}.dynamic-item-card .item-card-actions{display:flex;gap:.5rem;padding-top:1rem;border-top:1px solid var(--border)}.dynamic-item-card .btn-danger:hover{color:#ef4444}.item-card-compact{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--bg-secondary);border-radius:6px;border:1px solid var(--border)}.item-card-compact .item-icon{color:var(--text-muted)}.item-card-compact .item-info{flex:1;display:flex;flex-direction:column;gap:.125rem;min-width:0}.item-card-compact .item-name{font-weight:500;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-card-compact .item-type{font-size:.75rem;color:var(--text-muted);text-transform:capitalize}.item-card-compact .hidden-badge{color:var(--text-muted)}@media(max-width:767px){.item-type-selector,.form-row,.form-row-3{grid-template-columns:1fr}.tier-damage-grid,.dh-damage-tiers{grid-template-columns:repeat(2,1fr)}.item-actions{flex-direction:column}.item-actions .btn{width:100%}.dynamic-item-card .item-stats{grid-template-columns:1fr}.dynamic-item-form .form-actions{flex-direction:column}}.import-modal{display:flex;flex-direction:column;gap:1rem}.import-description{color:var(--text-secondary);margin:0}.import-category-tabs{display:flex;gap:.5rem;flex-wrap:wrap}.import-tab{padding:.5rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:.9rem;cursor:pointer;transition:all .2s ease}.import-tab:hover{background:var(--bg-secondary);color:var(--text-primary)}.import-tab.active{background:var(--hope-color);border-color:var(--hope-color);color:#fff}.import-actions-bar{display:flex;align-items:center;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--border)}.selection-count{font-weight:600;color:var(--hope-color)}.import-items-list{max-height:400px;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;padding-right:.5rem}.import-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s ease}.import-item:hover:not(.exists){background:var(--bg-secondary);border-color:var(--hope-color)}.import-item.selected{background:#eab3081a;border-color:var(--hope-color)}.import-item.exists{opacity:.6;cursor:not-allowed}.import-item-checkbox{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.checkbox-empty{width:16px;height:16px;border:2px solid var(--border);border-radius:4px}.import-item.selected .import-item-checkbox svg{color:var(--hope-color)}.exists-icon{color:var(--text-muted)}.import-item-info{flex:1;min-width:0}.import-item-name{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--text-primary)}.import-item-type{font-size:.7rem;font-weight:500;padding:.125rem .375rem;border-radius:4px;text-transform:uppercase}.import-item-type.weapon{background:#ef444426;color:#ef4444}.import-item-type.armor{background:#3b82f626;color:#3b82f6}.import-item-type.equipment{background:#22c55e26;color:#22c55e}.import-item-desc{font-size:.85rem;color:var(--text-secondary);margin-top:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.already-exists-badge{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.import-modal-actions{display:flex;gap:1rem;padding-top:1rem;border-top:1px solid var(--border);margin-top:.5rem}.import-modal-actions .btn{flex:1}.import-items-list::-webkit-scrollbar{width:6px}.import-items-list::-webkit-scrollbar-track{background:transparent}.import-items-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.import-items-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.adversaries-view{padding:1rem;max-width:1400px;margin:0 auto}@media(min-width:768px){.adversaries-view{padding:1.5rem}}.adversaries-controls{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}@media(min-width:768px){.adversaries-controls{flex-direction:row;align-items:center}}.filter-group{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary)}.filter-group select{padding:.5rem .75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.9rem}.adversaries-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:768px){.adversaries-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1200px){.adversaries-grid{grid-template-columns:repeat(3,1fr)}}.adversary-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;transition:all .2s ease}.adversary-card:hover{border-color:var(--fear-color);transform:translateY(-2px)}.adversary-card.hidden-card{opacity:.7;border-style:dashed}.adversary-header{display:flex;gap:1rem;padding:1rem;cursor:pointer}.adversary-image{width:60px;height:60px;border-radius:8px;overflow:hidden;flex-shrink:0;background:var(--bg-tertiary)}.adversary-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.adversary-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);background:linear-gradient(135deg,var(--bg-tertiary) 0%,var(--bg-secondary) 100%)}.adversary-info{flex:1;min-width:0}.adversary-name-row{display:flex;align-items:center;gap:.5rem}.adversary-name-row h3{margin:0;font-size:1.1rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hidden-badge{color:var(--text-secondary)}.adversary-meta{display:flex;gap:.5rem;margin:.25rem 0}.tier-badge{font-size:.7rem;font-weight:700;padding:.15rem .4rem;border-radius:4px;color:#fff;text-transform:uppercase}.role-badge{font-size:.75rem;color:var(--text-secondary);text-transform:capitalize}.adversary-description{margin:0;font-size:.85rem;color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.expand-btn{background:none;border:none;padding:.25rem;cursor:pointer;color:var(--text-secondary);border-radius:4px;align-self:flex-start}.expand-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.adversary-stats{display:flex;gap:.5rem;padding:.75rem 1rem;background:var(--bg-tertiary);border-top:1px solid var(--border-color)}.adversary-stats .stat{display:flex;align-items:center;gap:.25rem;font-size:.8rem;color:var(--text-secondary);padding:.25rem .5rem;background:var(--bg-secondary);border-radius:4px}.adversary-stats .stat svg{color:var(--fear-color)}.adversary-details{padding:1rem;border-top:1px solid var(--border-color);background:var(--bg-primary)}.detail-section{margin-bottom:.75rem;font-size:.9rem;line-height:1.5}.detail-section:last-child{margin-bottom:0}.detail-section strong{color:var(--text-primary)}.features-section{margin-top:1rem}.features-list{list-style:none;padding:0;margin:.5rem 0 0}.feature-item{padding:.75rem;margin-bottom:.5rem;background:var(--bg-secondary);border-radius:6px;border-left:3px solid var(--fear-color)}.feature-name{display:block;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.feature-type{font-weight:400;font-size:.8rem;color:var(--fear-color);margin-left:.5rem}.feature-desc{display:block;font-size:.85rem;color:var(--text-secondary);line-height:1.4}.adversary-actions{display:flex;gap:.25rem;padding:.5rem 1rem;border-top:1px solid var(--border-color);justify-content:flex-end}.import-item-tier{font-size:.7rem;font-weight:700;padding:.1rem .3rem;border-radius:3px;background:var(--fear-color);color:#fff;margin-left:.5rem}.import-item-role{font-size:.75rem;color:var(--text-secondary);margin-left:.5rem;text-transform:capitalize}.adversaries-view .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;color:var(--text-secondary)}.adversaries-view .empty-state svg{margin-bottom:1rem;opacity:.5}.environments-view{padding:1rem;max-width:1400px;margin:0 auto}@media(min-width:768px){.environments-view{padding:1.5rem}}.environments-controls{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}@media(min-width:768px){.environments-controls{flex-direction:row;align-items:center}}.environments-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:768px){.environments-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1200px){.environments-grid{grid-template-columns:repeat(2,1fr)}}.environment-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;transition:all .2s ease}.environment-card:hover{border-color:var(--hope-color);transform:translateY(-2px)}.environment-card.hidden-env{opacity:.7;border-style:dashed}.environment-card-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem;cursor:pointer}.environment-main-info{flex:1;min-width:0}.environment-title-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.environment-type-icon{font-size:1.25rem}.environment-name{margin:0;font-size:1.1rem;color:var(--text-primary)}.official-badge{font-size:.65rem;font-weight:700;padding:.1rem .35rem;border-radius:3px;background:var(--hope-color);color:var(--bg-primary);text-transform:uppercase}.hidden-badge{font-size:.7rem;color:var(--text-secondary);font-style:italic}.environment-meta{display:flex;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}.tier-badge{font-size:.75rem;font-weight:600;padding:.15rem .5rem;border-radius:4px;border:1px solid;background:transparent;color:var(--text-primary)}.type-badge{font-size:.7rem;font-weight:600;padding:.15rem .5rem;border-radius:4px;color:#fff;text-transform:capitalize}.difficulty-badge{font-size:.75rem;font-weight:600;padding:.15rem .5rem;border-radius:4px;background:var(--bg-tertiary);color:var(--text-primary)}.expand-toggle{background:none;border:none;padding:.25rem;cursor:pointer;color:var(--text-secondary);border-radius:4px;flex-shrink:0}.expand-toggle:hover{background:var(--bg-tertiary);color:var(--text-primary)}.environment-description{margin:0;padding:0 1rem 1rem;font-size:.9rem;color:var(--text-secondary);line-height:1.5}.environment-details{padding:1rem;border-top:1px solid var(--border-color);background:var(--bg-primary)}.environment-section{margin-bottom:1rem}.environment-section:last-child{margin-bottom:0}.section-label{font-size:.8rem;font-weight:600;color:var(--hope-color);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem}.impulses-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.5rem}.impulses-list li{font-size:.85rem;color:var(--text-primary);padding:.25rem .75rem;background:var(--bg-secondary);border-radius:20px;border:1px solid var(--border-color)}.features-list{display:flex;flex-direction:column;gap:.5rem}.feature-item{padding:.75rem;background:var(--bg-secondary);border-radius:8px;border-left:3px solid var(--border-color)}.feature-item.feature-passive{border-left-color:#60a5fa}.feature-item.feature-hazard{border-left-color:#ef4444}.feature-item.feature-action{border-left-color:var(--hope-color)}.feature-item.feature-encounter{border-left-color:var(--fear-color)}.feature-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem;flex-wrap:wrap}.feature-header svg{color:var(--text-secondary)}.feature-name{font-weight:600;color:var(--text-primary)}.feature-type-badge{font-size:.7rem;padding:.1rem .4rem;border-radius:3px;background:var(--bg-tertiary);color:var(--text-secondary);text-transform:capitalize}.feature-cost{font-size:.75rem;font-weight:600;padding:.1rem .4rem;border-radius:3px;background:var(--fear-color);color:#fff}.feature-description{margin:0;font-size:.85rem;color:var(--text-secondary);line-height:1.5}.adversaries-tags{display:flex;flex-wrap:wrap;gap:.5rem}.adversary-tag{font-size:.8rem;padding:.25rem .6rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary)}.environment-card-actions{display:flex;gap:.25rem;padding:.5rem 1rem;border-top:1px solid var(--border-color);justify-content:flex-end}.import-item-tier{font-size:.7rem;font-weight:700;padding:.1rem .3rem;border-radius:3px;background:var(--hope-color);color:var(--bg-primary);margin-left:.5rem}.import-item-type{font-size:.75rem;color:var(--text-secondary);margin-left:.5rem;text-transform:capitalize}.environments-view .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;color:var(--text-secondary)}.environments-view .empty-state svg{margin-bottom:1rem;opacity:.5}.party-inventory-view{max-width:1000px;margin:0 auto}.inventory-controls{margin-bottom:1.5rem}.inventory-list{display:flex;flex-direction:column;gap:.75rem}.inventory-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem}.inventory-item-icon{width:48px;height:48px;border-radius:10px;background:linear-gradient(135deg,var(--hope-color),var(--fear-color));display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.inventory-item-info{flex:1;min-width:0}.inventory-item-info h4{margin:0 0 .25rem;font-size:1rem}.inventory-item-meta{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.quantity{font-weight:600;color:var(--hope-color)}.inventory-item-notes{font-size:.85rem;color:var(--text-secondary);margin:.25rem 0}.added-by{font-size:.75rem;color:var(--text-muted);margin:0}.inventory-item-actions{display:flex;gap:.5rem;flex-shrink:0}.btn-sm{padding:.4rem .75rem;font-size:.85rem}.empty-hint{font-size:.9rem;color:var(--text-muted);margin-top:-.5rem}.add-item-form{display:flex;flex-direction:column;gap:1rem}.transfer-modal-content{display:flex;flex-direction:column;gap:1.5rem}.transfer-item-preview{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-tertiary);border-radius:8px}.transfer-item-preview .item-icon{width:48px;height:48px;border-radius:10px;background:linear-gradient(135deg,var(--hope-color),var(--fear-color));display:flex;align-items:center;justify-content:center;color:#fff}.transfer-item-preview .item-details h4{margin:0 0 .25rem}.transfer-item-preview .item-details p{margin:0;font-size:.85rem;color:var(--text-secondary)}.character-select-list{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto}.character-select-option{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--bg-secondary);border:2px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s ease}.character-select-option:hover{border-color:var(--hope-color);background:var(--bg-tertiary)}.character-select-option.selected{border-color:var(--hope-color);background:#fbbf241a}.character-select-option .char-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--hope-color),var(--fear-color));display:flex;align-items:center;justify-content:center;font-weight:600;color:#fff;font-size:1.1rem;overflow:hidden}.character-select-option .char-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.character-select-option .char-info{flex:1}.character-select-option .char-info h5{margin:0;font-size:.95rem}.character-select-option .char-info p{margin:0;font-size:.8rem;color:var(--text-muted)}@media(max-width:767px){.inventory-item{flex-wrap:wrap}.inventory-item-actions{width:100%;margin-top:.5rem;justify-content:flex-end}}.initiative-tracker{max-width:800px;margin:0 auto}.initiative-controls{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;margin-bottom:1.5rem}.round-display{display:flex;flex-direction:column;align-items:center}.round-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em}.round-number{font-size:2rem;font-weight:700;color:var(--hope-color);font-family:Cinzel,serif}.participants-list{display:flex;flex-direction:column;gap:.5rem}.empty-participants{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem;color:var(--text-muted)}.participant-card{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:all .2s ease;cursor:default}.participant-card.current-turn{background:#fbbf241a;border-color:var(--hope-color);box-shadow:0 0 20px #fbbf2433}.participant-card.hidden-participant{opacity:.6;border-style:dashed}.participant-card[draggable=true]{cursor:grab}.participant-card[draggable=true]:active{cursor:grabbing}.drag-handle{color:var(--text-muted);cursor:grab;padding:.25rem}.drag-handle:active{cursor:grabbing}.turn-indicator{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);flex-shrink:0}.turn-number{font-weight:600;font-size:.9rem;color:var(--text-secondary)}.current-marker{width:32px;height:32px;border-radius:50%;background:var(--hope-color);display:flex;align-items:center;justify-content:center;color:#fff;animation:pulse 2s infinite}@keyframes pulse{0%,to{box-shadow:0 0 #fbbf2466}50%{box-shadow:0 0 0 8px #fbbf2400}}.participant-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.participant-icon.character{background:linear-gradient(135deg,var(--hope-color),#f59e0b);color:#fff}.participant-icon.npc{background:linear-gradient(135deg,var(--fear-color),#a855f7);color:#fff}.participant-icon.custom{background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff}.participant-info{flex:1;min-width:0}.participant-info h4{margin:0 0 .25rem;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.participant-meta{display:flex;align-items:center;gap:.75rem}.type-badge{font-size:.7rem;padding:.15rem .5rem;border-radius:4px;text-transform:uppercase;font-weight:600}.type-badge.character{background:#fbbf2426;color:var(--hope-color)}.type-badge.npc{background:#8b5cf626;color:var(--fear-color)}.type-badge.custom{background:#6b728026;color:var(--text-secondary)}.initiative-value{font-size:.8rem;color:var(--text-muted)}.participant-actions{display:flex;gap:.25rem;flex-shrink:0}.btn-icon{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center}.btn-danger-hover:hover{color:#ef4444;background:#ef44441a}.add-participant-content{display:flex;flex-direction:column;gap:1.5rem}.quick-add-section h4,.custom-add-section h4{margin:0 0 .75rem;font-size:.9rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.entity-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.entity-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.entity-button:hover{background:var(--bg-tertiary);border-color:var(--hope-color)}.custom-add-section{padding-top:1rem;border-top:1px solid var(--border)}.custom-add-section form{display:flex;flex-direction:column;gap:1rem}@media(max-width:767px){.initiative-controls{flex-direction:column;gap:1rem}.initiative-controls .btn{width:100%}.round-display{order:-1;flex-direction:row;gap:.5rem}.round-number{font-size:1.5rem}.participant-card{flex-wrap:wrap}.participant-actions{width:100%;justify-content:flex-end;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border)}.drag-handle{display:none}}.player-display-container{position:fixed;top:0;left:0;right:0;bottom:0;background:#000;color:#fff;display:flex;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;overflow:hidden;cursor:none}.player-display-container.loading{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1rem}.player-display-container.loading .loading-spinner{width:48px;height:48px;border:3px solid rgba(255,255,255,.2);border-top-color:#8b5cf6;border-radius:50%;animation:spin 1s linear infinite}.player-display-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;background:linear-gradient(180deg,rgba(0,0,0,.8) 0%,transparent 100%);position:relative;z-index:10;min-height:80px}.fear-counter-display{display:flex;align-items:center;gap:1rem;background:#8b5cf626;border:2px solid rgba(139,92,246,.5);border-radius:16px;padding:.75rem 1.5rem;transition:transform .3s ease,box-shadow .3s ease}.fear-counter-display .fear-label{font-size:1.5rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#a78bfa}.fear-counter-display .fear-number{font-size:3rem;font-weight:900;color:#8b5cf6;text-shadow:0 0 20px rgba(139,92,246,.5);min-width:2ch;text-align:center;line-height:1}.fear-counter-display.animating-up{animation:fearPulseUp .5s ease}.fear-counter-display.animating-down{animation:fearPulseDown .5s ease}@keyframes fearPulseUp{0%{transform:scale(1)}25%{transform:scale(1.15);box-shadow:0 0 40px #ef444499}to{transform:scale(1)}}@keyframes fearPulseDown{0%{transform:scale(1)}25%{transform:scale(.95);box-shadow:0 0 40px #22c55e99}to{transform:scale(1)}}.initiative-display{display:flex;align-items:center;gap:1rem;flex:1;justify-content:flex-end}.initiative-header{display:flex;align-items:center;gap:.5rem;color:#eab308}.round-badge{font-size:1.25rem;font-weight:600;padding:.25rem .75rem;background:#eab30833;border:1px solid rgba(234,179,8,.4);border-radius:8px}.initiative-track{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;max-width:70%}.initiative-participant{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#ffffff1a;border-radius:8px;font-size:1.1rem;transition:all .3s ease;position:relative}.initiative-participant.current{background:#eab3084d;border:2px solid #eab308;box-shadow:0 0 20px #eab30866;transform:scale(1.05)}.initiative-participant.hidden-participant{opacity:.5}.initiative-participant .participant-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffff1a}.initiative-participant .participant-icon.character{color:#4ade80}.initiative-participant .participant-icon.npc{color:#ef4444}.initiative-participant .participant-icon.custom{color:#60a5fa}.initiative-participant .participant-name{font-weight:500;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.initiative-participant .hidden-icon{position:absolute;top:2px;right:2px;color:#ffffff80}.player-display-content{flex:1;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.content-display{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}.content-display.empty{flex-direction:column;gap:1rem;color:#ffffff4d}.content-display.empty p{font-size:1.5rem}.content-display .content-image{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;opacity:0;transition:opacity .5s ease}.content-display.loaded .content-image{opacity:1}.content-display.video{padding:0}.video-container{width:100%;height:100%;position:relative}.video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.content-display .content-caption{position:absolute;bottom:0;left:0;right:0;padding:2rem;background:linear-gradient(0deg,rgba(0,0,0,.9) 0%,transparent 100%);text-align:center}.content-caption h2{font-size:2rem;font-weight:600;margin:0;text-shadow:0 2px 10px rgba(0,0,0,.8)}.fullscreen-toggle{position:fixed;bottom:1.5rem;right:1.5rem;width:48px;height:48px;border-radius:50%;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .3s ease,background .2s ease;z-index:100}.fullscreen-toggle.visible{opacity:1}.fullscreen-toggle:hover{background:#fff3}.display-hint{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);padding:.5rem 1rem;background:#000000b3;border:1px solid rgba(255,255,255,.2);border-radius:8px;font-size:.9rem;color:#ffffffb3;opacity:0;transition:opacity .3s ease;z-index:100}.display-hint.visible{opacity:1}@media(min-width:1920px){.fear-counter-display .fear-label{font-size:2rem}.fear-counter-display .fear-number{font-size:4rem}.initiative-participant{font-size:1.3rem;padding:.75rem 1.25rem}.content-caption h2{font-size:3rem}}@media(min-width:3840px){.fear-counter-display .fear-label{font-size:3rem}.fear-counter-display .fear-number{font-size:6rem}.initiative-participant{font-size:2rem;padding:1rem 2rem}.content-caption h2{font-size:4rem}.fullscreen-toggle{width:72px;height:72px}}.content-grid{width:100%;height:100%;display:grid;gap:8px;padding:8px;box-sizing:border-box}.content-grid.grid-1{grid-template-columns:1fr;grid-template-rows:1fr;padding:0;gap:0}.content-grid.grid-2{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.content-grid.grid-3{grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr}.content-grid.grid-4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.content-grid.grid-6{grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 1fr}.content-grid.grid-9{grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 1fr 1fr}.content-grid.grid-many{grid-template-columns:repeat(4,1fr);grid-auto-rows:1fr}.grid-item{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#00000080;border-radius:8px}.content-grid.grid-1 .grid-item{border-radius:0;background:transparent}.grid-item.empty{color:#ffffff4d}.grid-item-image{max-width:100%;max-height:100%;width:auto;height:auto;-o-object-fit:contain;object-fit:contain;opacity:0;transition:opacity .5s ease}.grid-item.loaded .grid-item-image{opacity:1}.grid-item-caption{position:absolute;bottom:0;left:0;right:0;padding:.75rem 1rem;background:linear-gradient(0deg,rgba(0,0,0,.9) 0%,transparent 100%);text-align:center;font-size:1.25rem;font-weight:600;text-shadow:0 2px 8px rgba(0,0,0,.8)}.content-grid.grid-2 .grid-item-image,.content-grid.grid-3 .grid-item-image,.content-grid.grid-4 .grid-item-image,.content-grid.grid-6 .grid-item-image,.content-grid.grid-9 .grid-item-image,.content-grid.grid-many .grid-item-image{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.grid-video-container{width:100%;height:100%;position:relative}.grid-video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.grid-item{animation:gridItemFadeIn .3s ease}@keyframes gridItemFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media(min-width:1920px){.grid-item-caption{font-size:1.5rem;padding:1rem 1.5rem}}@media(min-width:3840px){.content-grid{gap:16px;padding:16px}.grid-item{border-radius:16px}.grid-item-caption{font-size:2rem;padding:1.5rem 2rem}}.battle-map-display{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#000}.battle-map-display.empty{color:#ffffff4d;flex-direction:column;gap:1rem}.battle-map-display.empty p{font-size:1.5rem}.dm-display-control{padding:1.5rem;max-width:1200px;margin:0 auto}.display-preview{margin-bottom:1.5rem}.preview-header{display:flex;align-items:center;gap:.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color);margin-bottom:1rem;color:var(--text-secondary);font-weight:500}.preview-content{display:flex;justify-content:center}.preview-screen{width:100%;max-width:600px;aspect-ratio:16 / 9;background:#000;border-radius:8px;position:relative;overflow:hidden;display:flex;flex-direction:column}.preview-fear{position:absolute;top:.5rem;left:.5rem;display:flex;align-items:center;gap:.5rem;background:#8b5cf633;border:1px solid rgba(139,92,246,.4);border-radius:8px;padding:.25rem .5rem;z-index:10}.preview-fear-label{font-size:.6rem;font-weight:700;color:#a78bfa;text-transform:uppercase}.preview-fear-number{font-size:1rem;font-weight:900;color:#8b5cf6}.preview-initiative{position:absolute;top:.5rem;right:.5rem;display:flex;align-items:center;gap:.25rem;background:#eab30833;border:1px solid rgba(234,179,8,.4);border-radius:8px;padding:.25rem .5rem;font-size:.65rem;color:#eab308;z-index:10}.preview-participants{opacity:.7}.preview-image-container{flex:1;display:flex;align-items:center;justify-content:center;position:relative}.preview-image-container img{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.preview-video{position:relative}.preview-play-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0006;color:#fff;pointer-events:none}.preview-caption{position:absolute;bottom:0;left:0;right:0;padding:.5rem;background:linear-gradient(0deg,rgba(0,0,0,.9) 0%,transparent 100%);color:#fff;font-size:.75rem;text-align:center}.preview-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:#ffffff4d;font-size:.8rem}.preview-hint{font-size:.65rem;opacity:.6}.preview-count{margin-left:auto;display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--fear-color)}.preview-grid{flex:1;display:grid;gap:4px;padding:4px;margin-top:2rem}.preview-grid-1{grid-template-columns:1fr}.preview-grid-2{grid-template-columns:1fr 1fr}.preview-grid-3{grid-template-columns:1fr 1fr 1fr}.preview-grid-4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.preview-grid-5,.preview-grid-6{grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 1fr}.preview-grid-item{position:relative;background:#00000080;border-radius:4px;overflow:hidden;aspect-ratio:16/9}.preview-grid-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.preview-grid-remove{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;background:#ef4444e6;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .2s ease}.preview-grid-item:hover .preview-grid-remove{opacity:1}.preview-grid-remove:hover{background:#ef4444}.preview-grid-name{position:absolute;bottom:0;left:0;right:0;padding:2px 4px;background:#000c;color:#fff;font-size:.55rem;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.section-hint{font-size:.8rem;color:var(--text-secondary);margin:-.5rem 0 .75rem}.control-sections{display:flex;flex-direction:column;gap:1rem}.control-section h3{margin:0 0 1rem;font-size:1rem;color:var(--text-primary)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h3{margin:0}.fear-control{display:flex;flex-direction:column;gap:1rem}.fear-control-header{display:flex;align-items:center;gap:.5rem}.fear-control-buttons{display:flex;align-items:center;gap:.5rem;justify-content:center}.btn-fear-control{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;transition:all .2s ease}.btn-fear-control.btn-decrement{background:#22c55e33;border:2px solid rgba(34,197,94,.5);color:#22c55e}.btn-fear-control.btn-decrement:hover:not(:disabled){background:#22c55e4d;transform:scale(1.05)}.btn-fear-control.btn-increment{background:#ef444433;border:2px solid rgba(239,68,68,.5);color:#ef4444}.btn-fear-control.btn-increment:hover:not(:disabled){background:#ef44444d;transform:scale(1.05)}.btn-fear-control:disabled{opacity:.4;cursor:not-allowed}.fear-value{display:flex;flex-direction:column;align-items:center;min-width:80px;padding:.5rem 1rem;background:#8b5cf61a;border:1px solid rgba(139,92,246,.3);border-radius:12px}.fear-value .fear-number{font-size:2rem;font-weight:900;color:#8b5cf6;line-height:1}.fear-value .fear-label{font-size:.7rem;text-transform:uppercase;color:var(--text-secondary);font-weight:600}.toggle-control{display:flex;flex-direction:column;gap:.75rem}.checkbox-control{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-control input[type=checkbox]{width:18px;height:18px;cursor:pointer}.status-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500;width:-moz-fit-content;width:fit-content}.status-badge.active{background:#eab30833;color:#eab308;border:1px solid rgba(234,179,8,.4)}.status-badge.inactive{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color)}.toggle-hint{font-size:.8rem;color:var(--text-secondary);margin:0;font-style:italic}.content-selector{display:flex;flex-direction:column;gap:1rem}.content-tabs{display:flex;gap:.5rem;flex-wrap:wrap}.content-tab{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-size:.85rem}.content-tab:hover{background:var(--bg-tertiary);color:var(--text-primary)}.content-tab.active{background:var(--fear-color);border-color:var(--fear-color);color:#fff}.tab-count{background:#fff3;padding:.1rem .4rem;border-radius:10px;font-size:.75rem}.content-tab.active .tab-count{background:#ffffff4d}.content-panel{min-height:200px;border:1px solid var(--border-color);border-radius:8px;padding:1rem;background:var(--bg-secondary)}.content-loading,.content-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;height:150px;color:var(--text-secondary)}.content-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem}.content-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.5rem;background:var(--bg-tertiary);border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s ease}.content-item:hover{border-color:var(--border-color);transform:translateY(-2px)}.content-item.selected{border-color:var(--fear-color);background:#8b5cf61a}.content-thumbnail{width:100%;aspect-ratio:1;border-radius:6px;overflow:hidden;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;position:relative}.content-thumbnail img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.selected-indicator{position:absolute;top:4px;right:4px;width:24px;height:24px;background:var(--fear-color);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.on-display-indicator{position:absolute;top:4px;right:4px;width:20px;height:20px;background:#22c55e;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.7rem}.content-item.on-display{border-color:#22c55e;background:#22c55e1a}.add-indicator{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#8b5cf6b3;color:#fff;opacity:0;transition:opacity .2s ease;border-radius:6px}.content-item:hover .add-indicator{opacity:1}.content-name{font-size:.75rem;text-align:center;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.youtube-input-section,.youtube-input-section form{display:flex;flex-direction:column;gap:1rem}.input-group{display:flex;flex-direction:column;gap:.25rem}.input-group label{font-size:.85rem;color:var(--text-secondary);font-weight:500}.input-group input{padding:.5rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.9rem}.input-group input:focus{outline:none;border-color:var(--fear-color)}.input-with-icon{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px}.input-with-icon:focus-within{border-color:var(--fear-color)}.input-with-icon input{flex:1;background:transparent;border:none;padding:0;color:var(--text-primary)}.input-with-icon input:focus{outline:none}.input-with-icon svg{color:var(--text-secondary);flex-shrink:0}.youtube-preview{position:relative;max-width:320px;border-radius:8px;overflow:hidden;background:#000}.youtube-preview img{width:100%;display:block}.play-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0006;color:#fff}.play-overlay svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.upload-section{display:flex;flex-direction:column;gap:1rem}.upload-area{width:100%}.upload-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem;border:2px dashed var(--border-color);border-radius:8px;background:var(--bg-tertiary);cursor:pointer;transition:all .2s ease;min-height:150px;color:var(--text-secondary)}.upload-dropzone:hover{border-color:var(--fear-color);background:#8b5cf60d}.upload-dropzone input[type=file]{display:none}.upload-hint{font-size:.75rem;opacity:.7}.uploaded-preview{display:flex;flex-direction:column;align-items:center;gap:.5rem}.uploaded-preview img{max-width:200px;max-height:150px;-o-object-fit:contain;object-fit:contain;border-radius:4px}.uploaded-name{font-size:.85rem;color:var(--text-primary)}.upload-actions{display:flex;gap:.5rem;justify-content:center}.upload-note{font-size:.8rem;color:var(--text-secondary);text-align:center;margin:0}.generate-section,.generate-form{display:flex;flex-direction:column;gap:1rem}.generate-form .input-group label{display:flex;align-items:center;gap:.5rem}.generate-form textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-tertiary);color:var(--text-primary);font-family:inherit;resize:vertical;min-height:80px}.generate-form textarea:focus{outline:none;border-color:var(--fear-color)}.generate-error{padding:.5rem .75rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#ef4444;font-size:.85rem}.generate-warning{padding:.5rem .75rem;background:#eab3081a;border:1px solid rgba(234,179,8,.3);border-radius:6px;color:#eab308;font-size:.85rem}.generated-result{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1rem;background:var(--bg-tertiary);border-radius:8px}.generated-preview{max-width:300px}.generated-preview img{width:100%;border-radius:8px;border:2px solid var(--border-color)}.generated-actions{display:flex;gap:.5rem}.generate-note{font-size:.8rem;color:var(--text-secondary);text-align:center;margin:0}@media(max-width:768px){.preview-screen{max-width:100%}.content-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.fear-control-buttons{flex-wrap:wrap}.content-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.content-tabs::-webkit-scrollbar{display:none}}.dice-3d-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:10000;pointer-events:none;background:transparent;visibility:hidden;opacity:0;transition:opacity .3s ease,visibility .3s ease}.dice-3d-overlay.visible{visibility:visible;pointer-events:all;opacity:1}.dice-box-canvas{width:100%;height:100%;position:absolute;top:0;left:0;z-index:10001;pointer-events:none}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.dice-3d-overlay.hope{background:radial-gradient(ellipse at center,#fbbf2433,#000000f2 70%)}.dice-3d-overlay.hope:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 30% 40%,rgba(251,191,36,.3) 0%,transparent 50%);pointer-events:none;animation:hopeGlow 2s ease-in-out infinite}@keyframes hopeGlow{0%,to{opacity:.5}50%{opacity:1}}.dice-3d-overlay.fear{background:radial-gradient(ellipse at center,#a855f733,#000000f2 70%)}.dice-3d-overlay.fear:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 70% 40%,rgba(168,85,247,.3) 0%,transparent 50%);pointer-events:none;animation:fearGlow 2s ease-in-out infinite}@keyframes fearGlow{0%,to{opacity:.5}50%{opacity:1}}.dice-3d-overlay.crit{background:radial-gradient(ellipse at center,#fbbf244d,#000000f2 70%)}.dice-3d-overlay.crit:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-conic-gradient(from 0deg,transparent 0deg 10deg,rgba(251,191,36,.1) 10deg 20deg);animation:critRotate 10s linear infinite;pointer-events:none}@keyframes critRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dice-3d-overlay.critfail{background:radial-gradient(ellipse at center,#ef444433,#000000f2 70%)}.dice-3d-overlay.critfail:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 50%,rgba(239,68,68,.2) 0%,transparent 50%);animation:critfailPulse .5s ease-in-out infinite;pointer-events:none}@keyframes critfailPulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:1}}.dice-3d-container{width:100%;height:60vh;max-width:800px}.dice-result-banner{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 3rem;background:#000c;border-radius:16px;border:2px solid rgba(255,255,255,.2);animation:bannerSlideUp .5s cubic-bezier(.34,1.56,.64,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@keyframes bannerSlideUp{0%{opacity:0;transform:translateY(50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.dice-result-banner.hope{border-color:#fbbf2480;box-shadow:0 0 40px #fbbf244d,inset 0 0 20px #fbbf241a}.dice-result-banner.fear{border-color:#a855f780;box-shadow:0 0 40px #a855f74d,inset 0 0 20px #a855f71a}.dice-result-banner.crit{border-color:#fbbf24cc;box-shadow:0 0 60px #fbbf2480,inset 0 0 30px #fbbf2433;animation:bannerSlideUp .5s cubic-bezier(.34,1.56,.64,1),critPulse 1s ease-in-out infinite}@keyframes critPulse{0%,to{box-shadow:0 0 60px #fbbf2480,inset 0 0 30px #fbbf2433}50%{box-shadow:0 0 80px #fbbf24cc,inset 0 0 40px #fbbf244d}}.dice-result-banner.critfail{border-color:#ef4444cc;box-shadow:0 0 60px #ef444480,inset 0 0 30px #ef444433}.dice-breakdown{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.hope-value,.fear-value{display:flex;flex-direction:column;align-items:center;gap:.25rem}.die-label{font-size:.8rem;text-transform:uppercase;letter-spacing:2px;opacity:.8}.hope-value .die-label{color:#fbbf24}.fear-value .die-label{color:#a855f7}.die-value{font-size:2rem;font-weight:700}.hope-value .die-value{color:#fbbf24;text-shadow:0 0 15px rgba(251,191,36,.6)}.fear-value .die-value{color:#a855f7;text-shadow:0 0 15px rgba(168,85,247,.6)}.vs{font-size:.9rem;color:#ffffff80;font-style:italic}.modifier-display{font-size:1rem;color:#fff9;margin-left:.5rem;font-weight:400}.roller-name{font-size:1rem;font-weight:600;margin-bottom:.25rem;text-shadow:0 0 10px currentColor}.dice-breakdown-display{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:600;margin-bottom:.5rem;flex-wrap:wrap;justify-content:center}.individual-die{text-shadow:0 0 10px currentColor;font-weight:700}.modifier-breakdown{color:#fffc;font-size:1.3rem;margin-left:.25rem}.result-total{font-size:4rem;font-weight:800;color:#fff;text-shadow:0 0 20px rgba(255,255,255,.5);line-height:1}.dice-result-banner.hope .result-total{color:#fbbf24;text-shadow:0 0 30px rgba(251,191,36,.8)}.dice-result-banner.fear .result-total{color:#a855f7;text-shadow:0 0 30px rgba(168,85,247,.8)}.dice-result-banner.crit .result-total{color:#fbbf24;text-shadow:0 0 30px rgba(251,191,36,1);animation:critTextPulse .5s ease-in-out infinite}@keyframes critTextPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.dice-result-banner.critfail .result-total{color:#ef4444;text-shadow:0 0 30px rgba(239,68,68,.8)}.result-outcome{font-size:1.5rem;font-weight:700;text-transform:uppercase;letter-spacing:4px}.result-outcome.hope{color:#fbbf24;text-shadow:0 0 10px rgba(251,191,36,.5)}.result-outcome.fear{color:#a855f7;text-shadow:0 0 10px rgba(168,85,247,.5)}.result-outcome.crit{color:#fbbf24;animation:critTextPulse .3s ease-in-out infinite}.result-outcome.critfail{color:#ef4444}.result-hint{font-size:.8rem;color:#ffffff80;margin-top:.5rem}.dice-skip-btn{position:absolute;bottom:2rem;padding:.75rem 1.5rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.3);border-radius:8px;color:#ffffffb3;font-size:.9rem;cursor:pointer;transition:all .2s}.dice-skip-btn:hover{background:#fff3;color:#fff}.dice-3d-overlay.hope.flash:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#fbbf244d;animation:flashFade .3s ease-out forwards;pointer-events:none}.dice-3d-overlay.fear.flash:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#a855f74d;animation:flashFade .3s ease-out forwards;pointer-events:none}@keyframes flashFade{0%{opacity:1}to{opacity:0}}@media(max-width:600px){.dice-3d-container{height:50vh}.result-total{font-size:3rem}.result-outcome{font-size:1.2rem;letter-spacing:2px}.dice-result-banner{padding:1rem 2rem}}.audio-receiver{position:fixed;bottom:1.5rem;left:1.5rem;display:flex;align-items:center;gap:.75rem;z-index:100}.audio-mute-btn{width:44px;height:44px;border-radius:50%;background:#000c;border:2px solid rgba(255,255,255,.2);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.audio-mute-btn:hover{background:#000000e6;border-color:#fff6}.audio-mute-btn.muted{border-color:#ef444480;color:#ef4444}.audio-now-playing{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#000c;border-radius:20px;color:#fff;font-size:.85rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.audio-pulse{width:8px;height:8px;background:#22c55e;border-radius:50%;animation:audioPulse 1.5s ease-in-out infinite}@keyframes audioPulse{0%,to{opacity:.5;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.battle-map-display-window{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;display:flex;align-items:center;justify-content:center;overflow:hidden}.battle-map-display-window.loading{flex-direction:column;gap:1rem;color:#888}.battle-map-display-window .loading-spinner{width:48px;height:48px;border:3px solid #333;border-top-color:#8b5cf6;border-radius:50%;animation:spin 1s linear infinite}.display-controls{position:fixed;top:1rem;right:1rem;z-index:100;display:flex;gap:.5rem;opacity:0;transition:opacity .3s}.display-controls.visible{opacity:1}.display-controls button{padding:.75rem;background:#000000b3;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;cursor:pointer;transition:all .2s}.display-controls button:hover{background:#8b5cf680;border-color:#8b5cf6cc}.map-container{display:flex;align-items:center;justify-content:center;transition:transform .3s ease}.no-map-message{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:#666;text-align:center;padding:2rem}.no-map-message h2{margin:0;color:#888}.no-map-message p{margin:0;font-size:.95rem}.campaign-id-hint{position:fixed;bottom:1rem;left:1rem;font-size:.75rem;color:#444;font-family:monospace}.roll-history{display:flex;flex-direction:column;height:100%;max-height:300px}.roll-history-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border);flex-shrink:0}.roll-history-header h4{margin:0;font-size:.9rem;font-weight:600;color:var(--text-primary)}.roll-history-loading,.roll-history-empty{padding:2rem 1rem;text-align:center;color:var(--text-muted);font-size:.9rem}.roll-history-list{flex:1;overflow-y:auto;padding:.5rem}.roll-entry{background:var(--bg-tertiary);border-radius:8px;padding:.75rem;margin-bottom:.5rem;border:1px solid transparent;transition:border-color .2s ease}.roll-entry:last-child{margin-bottom:0}.roll-entry.own-roll{border-color:var(--hope-color);background:linear-gradient(135deg,var(--bg-tertiary) 0%,rgba(234,179,8,.05) 100%)}.roll-entry.private-roll{border-color:var(--fear-color);opacity:.8}.roll-entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.roller-name{font-weight:600;font-size:.85rem;color:var(--text-primary)}.roll-time{font-size:.75rem;color:var(--text-muted)}.roll-label{font-size:.8rem;color:var(--text-secondary);font-style:italic;margin-bottom:.5rem}.roll-result{display:flex;align-items:baseline;gap:.75rem}.roll-total{font-size:1.5rem;font-weight:700;color:var(--hope-color)}.roll-details{font-size:.8rem;color:var(--text-muted);font-family:var(--font-mono, monospace)}.roll-badge{display:inline-block;margin-top:.5rem;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.roll-badge.hope{background:#eab30833;color:var(--hope-color)}.roll-badge.fear{background:#8b5cf633;color:var(--fear-color)}.roll-badge.tie{background:#64646433;color:var(--text-secondary)}.roll-badge.crit{background:#22c55e33;color:#22c55e}.roll-badge.critfail,.roll-badge.complication{background:#ef444433;color:#ef4444}.roll-private-badge{display:inline-block;margin-top:.25rem;margin-left:.5rem;font-size:.7rem;color:var(--text-muted)}.roll-history-list::-webkit-scrollbar{width:6px}.roll-history-list::-webkit-scrollbar-track{background:transparent}.roll-history-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.roll-history-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.dice-roller-float{position:fixed;bottom:1.5rem;right:1.5rem;z-index:1000;display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}.dice-fab{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--hope-color) 0%,var(--fear-color) 100%);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 12px #0000004d,0 2px 4px #0003;transition:transform .2s ease,box-shadow .2s ease}.dice-fab:hover{transform:scale(1.05);box-shadow:0 6px 16px #00000059,0 3px 6px #00000040}.dice-fab.rolling{animation:fabPulse .8s ease-in-out infinite}@keyframes fabPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.dice-panel{position:absolute;bottom:70px;right:0;width:320px;max-height:calc(100vh - 150px);background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 32px #0000004d;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.dice-panel-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border)}.dice-panel-header h3{margin:0;font-size:1rem;font-weight:600;display:flex;align-items:center;gap:.5rem;color:var(--text-primary)}.history-toggle{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:all .2s ease}.history-toggle:hover{background:var(--bg-secondary);color:var(--text-primary)}.dice-controls{padding:1rem;display:flex;flex-direction:column;gap:.75rem}.control-row{display:flex;gap:.75rem;align-items:flex-end}.control-group{display:flex;flex-direction:column;gap:.25rem;flex:1}.control-group label{font-size:.75rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.control-group input[type=number],.control-group select{padding:.5rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.9rem;width:100%}.control-group input[type=number]:focus,.control-group select:focus{outline:none;border-color:var(--hope-color)}.roll-mode-group{flex:2}.roll-mode-buttons{display:flex;gap:.25rem}.mode-btn{flex:1;padding:.5rem .25rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);font-size:.75rem;cursor:pointer;transition:all .2s ease}.mode-btn:hover{background:var(--bg-primary)}.mode-btn.active{border-color:var(--hope-color);color:var(--text-primary)}.mode-btn.active.adv{background:#22c55e26;border-color:#22c55e;color:#22c55e}.mode-btn.active.dis{background:#ef444426;border-color:#ef4444;color:#ef4444}.private-toggle{flex:0 0 auto}.private-toggle label{display:flex;align-items:center;gap:.25rem;cursor:pointer;font-size:.8rem;color:var(--text-secondary);padding:.5rem;background:var(--bg-tertiary);border-radius:6px;border:1px solid var(--border)}.private-toggle label:has(input:checked){border-color:var(--fear-color);color:var(--fear-color)}.private-toggle input[type=checkbox]{width:14px;height:14px;cursor:pointer}.dice-3d-toggle{flex:1}.dice-3d-toggle label{display:flex;align-items:center;gap:.35rem;cursor:pointer;font-size:.8rem;padding:.4rem .6rem;background:var(--bg-tertiary);border-radius:6px;border:1px solid var(--border);transition:all .2s}.dice-3d-toggle label:has(input:checked){border-color:var(--hope-color);color:var(--hope-color);background:#eab3081a}.dice-3d-toggle input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:var(--hope-color)}.roll-label-input{flex:1;padding:.5rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.85rem}.roll-label-input::-moz-placeholder{color:var(--text-muted)}.roll-label-input::placeholder{color:var(--text-muted)}.roll-label-input:focus{outline:none;border-color:var(--hope-color)}.roll-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;font-size:1rem;font-weight:600;background:linear-gradient(135deg,var(--hope-color) 0%,var(--fear-color) 100%);border:none;border-radius:8px;color:#fff;cursor:pointer;transition:opacity .2s ease,transform .2s ease}.roll-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.roll-btn:disabled{opacity:.7;cursor:not-allowed}.roll-btn .spin{animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.roll-result-mini{padding:.75rem 1rem;background:var(--bg-tertiary);border-top:1px solid var(--border);display:flex;align-items:center;gap:1rem}.roll-result-mini.hope{background:linear-gradient(135deg,var(--bg-tertiary) 0%,rgba(234,179,8,.1) 100%)}.roll-result-mini.fear{background:linear-gradient(135deg,var(--bg-tertiary) 0%,rgba(139,92,246,.1) 100%)}.roll-result-mini.crit{background:linear-gradient(135deg,var(--bg-tertiary) 0%,rgba(34,197,94,.15) 100%)}.roll-result-mini.critfail{background:linear-gradient(135deg,var(--bg-tertiary) 0%,rgba(239,68,68,.15) 100%)}.roll-result-mini.complication{background:linear-gradient(135deg,var(--bg-tertiary) 0%,rgba(239,68,68,.1) 100%)}.mini-dice{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary)}.mini-dice .hope-die{display:flex;align-items:center;gap:.25rem;color:var(--hope-color)}.mini-dice .fear-die{display:flex;align-items:center;gap:.25rem;color:var(--fear-color)}.mini-dice .d20-roll{display:flex;align-items:center;gap:.25rem}.mini-dice .wild-die{color:var(--hope-color);font-weight:600}.mini-dice .other-dice{font-family:var(--font-mono, monospace);color:var(--text-muted);font-size:.8rem}.mini-total{font-size:1.75rem;font-weight:700;color:var(--hope-color);line-height:1}.mini-outcome{font-size:.8rem;font-weight:600;padding:.25rem .5rem;border-radius:4px}.mini-outcome.hope{background:#eab30833;color:var(--hope-color)}.mini-outcome.fear{background:#8b5cf633;color:var(--fear-color)}.mini-outcome.crit{display:flex;align-items:center;gap:.25rem;background:#22c55e33;color:#22c55e}.mini-outcome.critfail,.mini-outcome.complication{background:#ef444433;color:#ef4444}@media(max-width:640px){.dice-roller-float{bottom:1rem;right:1rem}.dice-panel{width:calc(100vw - 2rem);max-width:320px}.dice-fab{width:48px;height:48px}}.dh-chat-widget-container{position:fixed;bottom:24px;right:100px;z-index:1000;display:flex;flex-direction:column;align-items:flex-end;pointer-events:none}.dh-chat-toggle{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--fear-color),var(--fear-secondary));border:2px solid rgba(255,255,255,.2);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #0006;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);pointer-events:auto;position:relative}.dh-chat-toggle:hover{transform:scale(1.1) rotate(-5deg);box-shadow:0 8px 25px #8b5cf699}.dh-chat-toggle.active{transform:rotate(90deg) scale(.9);background:var(--bg-tertiary)}.dh-chat-window{width:380px;height:600px;max-height:calc(100vh - 120px);background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;margin-bottom:20px;box-shadow:0 10px 40px #00000080;display:flex;flex-direction:column;overflow:hidden;pointer-events:auto;animation:slideIn .3s cubic-bezier(.16,1,.3,1);transform-origin:bottom right}@keyframes slideIn{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.dh-chat-header{padding:16px;background:linear-gradient(to right,rgba(139,92,246,.1),transparent);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}.dh-chat-icon{width:36px;height:36px;background:linear-gradient(135deg,var(--fear-color),var(--fear-secondary));border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff}.dh-chat-title h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.dh-chat-title p{margin:0;font-size:.75rem;color:var(--fear-secondary)}.dh-chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px;scroll-behavior:smooth}.dh-message{display:flex;gap:10px;max-width:90%;animation:fadeIn .3s ease}.dh-message.user{align-self:flex-end;flex-direction:row-reverse}.dh-message-avatar{width:28px;height:28px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--border)}.dh-message.ai .dh-message-avatar{background:linear-gradient(135deg,var(--fear-color),var(--fear-secondary));color:#fff;border:none}.dh-message-content{padding:10px 14px;border-radius:12px;font-size:.9rem;line-height:1.5}.dh-message.ai .dh-message-content p{margin:0 0 .75em}.dh-message.ai .dh-message-content p:last-child{margin-bottom:0}.dh-message.ai .dh-message-content h1,.dh-message.ai .dh-message-content h2,.dh-message.ai .dh-message-content h3,.dh-message.ai .dh-message-content h4{margin:.75em 0 .5em;font-weight:600;color:var(--fear-secondary)}.dh-message.ai .dh-message-content h1:first-child,.dh-message.ai .dh-message-content h2:first-child,.dh-message.ai .dh-message-content h3:first-child{margin-top:0}.dh-message.ai .dh-message-content h1{font-size:1.1em}.dh-message.ai .dh-message-content h2{font-size:1.05em}.dh-message.ai .dh-message-content h3{font-size:1em}.dh-message.ai .dh-message-content ul,.dh-message.ai .dh-message-content ol{margin:.5em 0;padding-left:1.5em}.dh-message.ai .dh-message-content li{margin:.25em 0}.dh-message.ai .dh-message-content strong{color:var(--fear-secondary);font-weight:600}.dh-message.ai .dh-message-content em{font-style:italic}.dh-message.ai .dh-message-content code{background:#0000004d;padding:.15em .4em;border-radius:4px;font-family:monospace;font-size:.85em}.dh-message.ai .dh-message-content pre{background:#0000004d;padding:.75em;border-radius:6px;overflow-x:auto;margin:.5em 0}.dh-message.ai .dh-message-content pre code{background:none;padding:0}.dh-message.ai .dh-message-content blockquote{border-left:3px solid var(--fear-color);margin:.5em 0;padding-left:.75em;color:var(--text-secondary)}.dh-message.ai .dh-message-content hr{border:none;border-top:1px solid var(--border);margin:.75em 0}.dh-message.user .dh-message-content{background:var(--fear-color);color:#fff;border-bottom-right-radius:2px;white-space:pre-wrap}.dh-message.ai .dh-message-content{background:var(--bg-tertiary);color:var(--text-primary);border-bottom-left-radius:2px;border:1px solid var(--border)}.dh-chat-input-area{padding:16px;background:var(--bg-primary);border-top:1px solid var(--border);display:flex;gap:10px;align-items:flex-end}.dh-chat-input{flex:1;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:10px 12px;color:var(--text-primary);font-family:inherit;font-size:.9rem;resize:none;min-height:44px;max-height:120px;outline:none;transition:border-color .2s}.dh-chat-input:focus{border-color:var(--fear-color)}.dh-chat-send{width:44px;height:44px;border-radius:8px;background:var(--fear-color);border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.dh-chat-send:hover:not(:disabled){background:var(--fear-secondary);transform:translateY(-2px)}.dh-chat-send:disabled{opacity:.5;cursor:not-allowed;background:var(--bg-tertiary)}.typing-indicator{display:flex;gap:4px;padding:4px 8px;background:var(--bg-tertiary);border-radius:12px;width:-moz-fit-content;width:fit-content}.typing-dot{width:6px;height:6px;background:var(--text-secondary);border-radius:50%;animation:bounce 1.4s infinite ease-in-out both}.typing-dot:nth-child(1){animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.dh-chat-messages::-webkit-scrollbar{width:6px}.dh-chat-messages::-webkit-scrollbar-track{background:transparent}.dh-chat-messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.dh-chat-messages::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@media(max-width:480px){.dh-chat-window{width:100vw;height:100vh;max-height:100vh;margin:0;border-radius:0;position:fixed;top:0;left:0;right:0;bottom:0;z-index:1001}.dh-chat-widget-container{right:80px;bottom:20px}.dh-chat-widget-container:has(.dh-chat-window){top:0;right:0;bottom:0;left:0;width:100%;height:100%}.dh-chat-toggle.active{position:fixed;top:16px;right:16px;z-index:1002;transform:none;width:40px;height:40px}}.command-palette-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1500;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;animation:overlay-fade-in .15s ease-out}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.command-palette{width:100%;max-width:600px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 16px 48px #0006;overflow:hidden;animation:palette-slide-in .2s ease-out}@keyframes palette-slide-in{0%{transform:translateY(-20px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.command-palette-header{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--border-color)}.search-icon{flex-shrink:0;color:var(--text-secondary)}.command-palette-input{flex:1;background:transparent;border:none;outline:none;font-size:16px;color:var(--text-primary)}.command-palette-input::-moz-placeholder{color:var(--text-secondary)}.command-palette-input::placeholder{color:var(--text-secondary)}.shortcut-hint{flex-shrink:0;padding:4px 8px;font-size:11px;font-weight:500;color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px}.command-palette-list{max-height:400px;overflow-y:auto;padding:8px}.command-group{margin-bottom:8px}.command-group:last-child{margin-bottom:0}.command-group-title{padding:8px 12px 4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.command-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:background .1s}.command-item:hover,.command-item.selected{background:var(--bg-tertiary)}.command-item.selected{background:var(--hope-color);color:var(--bg-primary)}.command-item.selected .command-item-icon,.command-item.selected .command-item-subtitle{color:inherit;opacity:.8}.command-item.selected .command-item-hint{background:#0003;border-color:transparent;color:inherit}.command-item-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-tertiary);border-radius:6px;color:var(--text-secondary)}.command-item.selected .command-item-icon{background:#00000026}.command-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.command-item-title{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-item-subtitle{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-item-hint{flex-shrink:0;padding:2px 6px;font-size:10px;font-weight:500;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px}.command-empty{padding:32px;text-align:center;color:var(--text-secondary);font-size:14px}.command-palette-footer{display:flex;justify-content:center;gap:24px;padding:12px;border-top:1px solid var(--border-color);font-size:12px;color:var(--text-secondary)}.command-palette-footer kbd{padding:2px 5px;font-size:10px;font-weight:500;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:3px;margin:0 2px}@media(max-width:640px){.command-palette-overlay{padding:8px;padding-top:10vh}.command-palette{max-width:none}.command-palette-footer{flex-wrap:wrap;gap:12px}}.presence-indicator{position:relative;display:flex;align-items:center}.presence-avatars{display:flex;flex-direction:row-reverse}.presence-avatar{position:relative;width:32px;height:32px;border-radius:50%;background:var(--bg-tertiary);border:2px solid var(--bg-secondary);display:flex;align-items:center;justify-content:center;margin-left:-8px;cursor:pointer;transition:transform .15s}.presence-avatar:first-child{margin-left:0}.presence-avatar:hover{transform:translateY(-2px);z-index:100!important}.presence-avatar img{width:100%;height:100%;border-radius:50%;-o-object-fit:cover;object-fit:cover}.presence-avatar-initials{font-size:11px;font-weight:600;color:var(--text-secondary)}.presence-more{background:var(--bg-tertiary);font-size:11px;font-weight:600;color:var(--text-secondary)}.presence-status-dot{position:absolute;bottom:-2px;right:-2px;width:10px;height:10px;border-radius:50%;border:2px solid var(--bg-secondary)}.presence-tooltip{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 24px #0000004d;z-index:1000;animation:tooltip-fade-in .15s ease-out}@keyframes tooltip-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.presence-tooltip-header{display:flex;align-items:center;gap:6px;padding:10px 12px;border-bottom:1px solid var(--border-color);font-size:12px;font-weight:600;color:var(--text-secondary)}.presence-tooltip-list{padding:8px 0;max-height:200px;overflow-y:auto}.presence-tooltip-item{display:flex;align-items:center;gap:8px;padding:6px 12px}.presence-tooltip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.presence-tooltip-name{flex:1;font-size:13px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.presence-tooltip-view{font-size:11px;color:var(--text-secondary);white-space:nowrap}@media(max-width:640px){.presence-avatar{width:28px;height:28px;margin-left:-6px}.presence-status-dot{width:8px;height:8px}.presence-tooltip{right:-8px;min-width:180px}}:root{--color-primary: 91 33 182;--color-accent: 251 191 36}:root[data-theme=daggerheart]{--color-primary: 91 33 182;--color-accent: 251 191 36}:root[data-theme=dnd5e]{--color-primary: 153 27 27;--color-accent: 212 212 212}:root[data-theme=starwarsd6]{--color-primary: 250 204 21;--color-accent: 156 163 175}:root[data-theme=generic]{--color-primary: 22 163 74;--color-accent: 229 231 235}.app{display:flex;min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%)}.main-content{flex:1;overflow-y:auto;min-height:100vh}.app.player-mode .btn-primary{background:linear-gradient(135deg,var(--hope-color),var(--hope-secondary));color:var(--bg-primary)}.app.dm-mode .btn-primary{background:linear-gradient(135deg,var(--fear-color),var(--fear-secondary));color:#fff}.main-content::-webkit-scrollbar{width:10px}.main-content::-webkit-scrollbar-track{background:var(--bg-primary)}.main-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:5px}.main-content::-webkit-scrollbar-thumb:hover{background:#fff3}.loading-view{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;color:var(--text-muted)}.loading-view .loading-spinner{width:48px;height:48px;border:4px solid var(--border);border-top-color:var(--hope-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1.5rem}.loading-view p{font-size:1.1rem}@media(max-width:767px){.app{flex-direction:column}.main-content{margin-left:0;padding-top:60px;min-width:0}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.-inset-px{top:-1px;right:-1px;bottom:-1px;left:-1px}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{top:0;bottom:0}.-bottom-0\.5{bottom:-.125rem}.-bottom-4{bottom:-1rem}.-left-20{left:-5rem}.-left-8{left:-2rem}.-right-0\.5{right:-.125rem}.-right-4{right:-1rem}.-top-24{top:-6rem}.bottom-0{bottom:0}.bottom-1{bottom:.25rem}.bottom-1\/4{bottom:25%}.bottom-2{bottom:.5rem}.bottom-3{bottom:.75rem}.bottom-4{bottom:1rem}.bottom-6{bottom:1.5rem}.bottom-8{bottom:2rem}.bottom-\[-10\%\]{bottom:-10%}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.left-1\/4{left:25%}.left-3{left:.75rem}.left-4{left:1rem}.left-5{left:1.25rem}.left-6{left:1.5rem}.left-8{left:2rem}.left-\[-10\%\]{left:-10%}.left-full{left:100%}.right-0{right:0}.right-1{right:.25rem}.right-1\/4{right:25%}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-6{right:1.5rem}.right-7{right:1.75rem}.right-8{right:2rem}.right-\[-10\%\]{right:-10%}.right-\[10\%\]{right:10%}.top-0{top:0}.top-1\/2{top:50%}.top-1\/4{top:25%}.top-2{top:.5rem}.top-3{top:.75rem}.top-3\.5{top:.875rem}.top-4{top:1rem}.top-6{top:1.5rem}.top-8{top:2rem}.top-\[-10\%\]{top:-10%}.top-\[20\%\]{top:20%}.top-\[calc\(50\%\+20px\)\]{top:calc(50% + 20px)}.top-full{top:100%}.isolate{isolation:isolate}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[50\]{z-index:50}.z-\[55\]{z-index:55}.z-\[60\]{z-index:60}.col-span-1{grid-column:span 1 / span 1}.m-0{margin:0}.-mx-4{margin-left:-1rem;margin-right:-1rem}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.-ml-2{margin-left:-.5rem}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-8{margin-left:2rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mr-auto{margin-right:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-\[21\/9\]{aspect-ratio:21/9}.aspect-square{aspect-ratio:1 / 1}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-24{height:6rem}.h-36{height:9rem}.h-4{height:1rem}.h-40{height:10rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-80{height:20rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[20\%\]{height:20%}.h-\[30\%\]{height:30%}.h-\[40\%\]{height:40%}.h-\[80vh\]{height:80vh}.h-\[90\%\]{height:90%}.h-auto{height:auto}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-60{max-height:15rem}.max-h-\[100px\]{max-height:100px}.max-h-\[80vh\]{max-height:80vh}.max-h-\[90vh\]{max-height:90vh}.min-h-\[100px\]{min-height:100px}.min-h-\[20px\]{min-height:20px}.min-h-\[24px\]{min-height:24px}.min-h-\[400px\]{min-height:400px}.min-h-\[50vh\]{min-height:50vh}.min-h-\[80px\]{min-height:80px}.min-h-screen{min-height:100vh}.w-0\.5{width:.125rem}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[20\%\]{width:20%}.w-\[30\%\]{width:30%}.w-\[320px\]{width:320px}.w-\[40\%\]{width:40%}.w-\[90\%\]{width:90%}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-\[150px\]{min-width:150px}.min-w-\[200px\]{min-width:200px}.min-w-\[3ch\]{min-width:3ch}.min-w-\[60px\]{min-width:60px}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-7xl{max-width:80rem}.max-w-\[95vw\]{max-width:95vw}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-\[1\.5\]{flex:1.5}.flex-\[2\]{flex:2}.flex-shrink{flex-shrink:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0\.5{--tw-translate-x: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-1{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-1\/2{--tw-translate-x: 50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-full{--tw-translate-y: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-12{--tw-rotate: -12deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-125{--tw-scale-x: 1.25;--tw-scale-y: 1.25;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[60px_1fr_320px\]{grid-template-columns:60px 1fr 320px}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1{row-gap:.25rem}.-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-.5rem * var(--tw-space-x-reverse));margin-left:calc(-.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl,.rounded-\[1\.5rem\]{border-radius:1.5rem}.rounded-\[2\.5rem\]{border-radius:2.5rem}.rounded-\[2rem\]{border-radius:2rem}.rounded-\[32px\]{border-radius:32px}.rounded-\[3rem\]{border-radius:3rem}.rounded-\[4rem\]{border-radius:4rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-4{border-left-width:4px}.border-l-\[3px\]{border-left-width:3px}.border-r{border-right-width:1px}.border-r-2{border-right-width:2px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-\[\#0d1126\]{--tw-border-opacity: 1;border-color:rgb(13 17 38 / var(--tw-border-opacity, 1))}.border-\[rgb\(var\(--color-accent\)\)\]{border-color:rgb(var(--color-accent))}.border-\[rgb\(var\(--color-accent\)\/0\.2\)\]{border-color:rgb(var(--color-accent)/.2)}.border-\[rgb\(var\(--color-primary\)\)\/30\]{border-color:rgb(var(--color-primary))/30}.border-\[rgb\(var\(--color-primary\)\)\/40\]{border-color:rgb(var(--color-primary))/40}.border-\[rgb\(var\(--color-primary\)\)\/50\]{border-color:rgb(var(--color-primary))/50}.border-\[rgb\(var\(--color-primary\)\)\]{border-color:rgb(var(--color-primary))}.border-\[rgb\(var\(--color-primary\)\)\]\/50{border-color:rgb(var(--color-primary) / .5)}.border-\[rgb\(var\(--color-primary\)\/0\.5\)\]{border-color:rgb(var(--color-primary)/.5)}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--border-accent\)\]{border-color:var(--border-accent)}.border-\[var\(--fear-color\)\]{border-color:var(--fear-color)}.border-amber-400\/20{border-color:#fbbf2433}.border-amber-500\/10{border-color:#f59e0b1a}.border-amber-500\/20{border-color:#f59e0b33}.border-amber-500\/30{border-color:#f59e0b4d}.border-amber-500\/50{border-color:#f59e0b80}.border-amber-900\/40{border-color:#78350f66}.border-blue-400\/20{border-color:#60a5fa33}.border-blue-500\/20{border-color:#3b82f633}.border-blue-500\/30{border-color:#3b82f64d}.border-emerald-400\/20{border-color:#34d39933}.border-emerald-500{--tw-border-opacity: 1;border-color:rgb(16 185 129 / var(--tw-border-opacity, 1))}.border-emerald-500\/10{border-color:#10b9811a}.border-emerald-500\/20{border-color:#10b98133}.border-emerald-500\/30{border-color:#10b9814d}.border-emerald-500\/50{border-color:#10b98180}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.border-indigo-400\/20{border-color:#818cf833}.border-indigo-500{--tw-border-opacity: 1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1))}.border-indigo-500\/20{border-color:#6366f133}.border-indigo-500\/30{border-color:#6366f14d}.border-indigo-500\/50{border-color:#6366f180}.border-orange-500\/50{border-color:#f9731680}.border-purple-500\/30{border-color:#a855f74d}.border-red-400\/20{border-color:#f8717133}.border-red-500\/10{border-color:#ef44441a}.border-red-500\/20{border-color:#ef444433}.border-red-500\/30{border-color:#ef44444d}.border-red-500\/50{border-color:#ef444480}.border-sky-400\/20{border-color:#38bdf833}.border-sky-500\/30{border-color:#0ea5e94d}.border-sky-500\/50{border-color:#0ea5e980}.border-transparent{border-color:transparent}.border-white\/10{border-color:#ffffff1a}.border-white\/20{border-color:#fff3}.border-white\/5{border-color:#ffffff0d}.border-yellow-500\/30{border-color:#eab3084d}.border-zinc-600{--tw-border-opacity: 1;border-color:rgb(82 82 91 / var(--tw-border-opacity, 1))}.border-zinc-700{--tw-border-opacity: 1;border-color:rgb(63 63 70 / var(--tw-border-opacity, 1))}.border-zinc-800{--tw-border-opacity: 1;border-color:rgb(39 39 42 / var(--tw-border-opacity, 1))}.border-zinc-800\/50{border-color:#27272a80}.border-l-\[var\(--hope-color\)\]{border-left-color:var(--hope-color)}.border-l-amber-500{--tw-border-opacity: 1;border-left-color:rgb(245 158 11 / var(--tw-border-opacity, 1))}.border-t-transparent{border-top-color:transparent}.bg-\[\#060814\]\/80{background-color:#060814cc}.bg-\[\#0a0a0a\]{--tw-bg-opacity: 1;background-color:rgb(10 10 10 / var(--tw-bg-opacity, 1))}.bg-\[\#0d1126\]{--tw-bg-opacity: 1;background-color:rgb(13 17 38 / var(--tw-bg-opacity, 1))}.bg-\[\#0d1126\]\/40{background-color:#0d112666}.bg-\[\#0d1126\]\/70{background-color:#0d1126b3}.bg-\[\#0d1126\]\/90{background-color:#0d1126e6}.bg-\[rgb\(var\(--color-primary\)\)\/10\]{background-color:rgb(var(--color-primary))/10}.bg-\[rgb\(var\(--color-primary\)\)\/20\]{background-color:rgb(var(--color-primary))/20}.bg-\[rgb\(var\(--color-primary\)\)\]{background-color:rgb(var(--color-primary))}.bg-\[rgb\(var\(--color-primary\)\)\]\/10{background-color:rgb(var(--color-primary) / .1)}.bg-\[rgb\(var\(--color-primary\)\)\]\/20{background-color:rgb(var(--color-primary) / .2)}.bg-\[rgb\(var\(--color-primary\)\/0\.2\)\]{background-color:rgb(var(--color-primary)/.2)}.bg-\[var\(--bg-primary\)\]{background-color:var(--bg-primary)}.bg-\[var\(--bg-secondary\)\]{background-color:var(--bg-secondary)}.bg-\[var\(--bg-tertiary\)\]{background-color:var(--bg-tertiary)}.bg-\[var\(--card-bg\)\]{background-color:var(--card-bg)}.bg-\[var\(--hope-color\)\]{background-color:var(--hope-color)}.bg-amber-400\/10{background-color:#fbbf241a}.bg-amber-400\/5{background-color:#fbbf240d}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-amber-500\/10{background-color:#f59e0b1a}.bg-amber-500\/20{background-color:#f59e0b33}.bg-amber-500\/5{background-color:#f59e0b0d}.bg-amber-950\/10{background-color:#451a031a}.bg-amber-950\/20{background-color:#451a0333}.bg-arcane-glass{background-color:#0d1126b3}.bg-arcane-navy{--tw-bg-opacity: 1;background-color:rgb(13 17 38 / var(--tw-bg-opacity, 1))}.bg-black\/20{background-color:#0003}.bg-black\/40{background-color:#0006}.bg-black\/60{background-color:#0009}.bg-black\/70{background-color:#000000b3}.bg-black\/80{background-color:#000c}.bg-blue-400\/10{background-color:#60a5fa1a}.bg-blue-400\/5{background-color:#60a5fa0d}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-500\/10{background-color:#3b82f61a}.bg-blue-500\/20{background-color:#3b82f633}.bg-blue-500\/5{background-color:#3b82f60d}.bg-current{background-color:currentColor}.bg-emerald-400\/10{background-color:#34d3991a}.bg-emerald-400\/5{background-color:#34d3990d}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.bg-emerald-500\/10{background-color:#10b9811a}.bg-emerald-500\/20{background-color:#10b98133}.bg-emerald-500\/5{background-color:#10b9810d}.bg-emerald-600{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity, 1))}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity, 1))}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-indigo-400{--tw-bg-opacity: 1;background-color:rgb(129 140 248 / var(--tw-bg-opacity, 1))}.bg-indigo-400\/10{background-color:#818cf81a}.bg-indigo-400\/20{background-color:#818cf833}.bg-indigo-400\/5{background-color:#818cf80d}.bg-indigo-500{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}.bg-indigo-500\/10{background-color:#6366f11a}.bg-indigo-500\/20{background-color:#6366f133}.bg-indigo-500\/40{background-color:#6366f166}.bg-indigo-500\/5{background-color:#6366f10d}.bg-indigo-600{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1))}.bg-orange-400\/10{background-color:#fb923c1a}.bg-orange-500\/20{background-color:#f9731633}.bg-orange-500\/5{background-color:#f973160d}.bg-purple-400\/5{background-color:#c084fc0d}.bg-purple-500\/10{background-color:#a855f71a}.bg-purple-500\/20{background-color:#a855f733}.bg-red-400\/10{background-color:#f871711a}.bg-red-400\/5{background-color:#f871710d}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-500\/10{background-color:#ef44441a}.bg-red-500\/20{background-color:#ef444433}.bg-red-500\/5{background-color:#ef44440d}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-rose-400\/5{background-color:#fb71850d}.bg-sky-400\/10{background-color:#38bdf81a}.bg-sky-500{--tw-bg-opacity: 1;background-color:rgb(14 165 233 / var(--tw-bg-opacity, 1))}.bg-sky-500\/10{background-color:#0ea5e91a}.bg-slate-400\/10{background-color:#94a3b81a}.bg-slate-400\/5{background-color:#94a3b80d}.bg-slate-500\/20{background-color:#64748b33}.bg-slate-500\/5{background-color:#64748b0d}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/10{background-color:#ffffff1a}.bg-white\/20{background-color:#fff3}.bg-white\/5{background-color:#ffffff0d}.bg-white\/\[0\.01\]{background-color:#ffffff03}.bg-white\/\[0\.02\]{background-color:#ffffff05}.bg-white\/\[0\.03\]{background-color:#ffffff08}.bg-white\/\[0\.07\]{background-color:#ffffff12}.bg-white\/\[0\.08\]{background-color:#ffffff14}.bg-yellow-500\/10{background-color:#eab3081a}.bg-zinc-600{--tw-bg-opacity: 1;background-color:rgb(82 82 91 / var(--tw-bg-opacity, 1))}.bg-zinc-700{--tw-bg-opacity: 1;background-color:rgb(63 63 70 / var(--tw-bg-opacity, 1))}.bg-zinc-800{--tw-bg-opacity: 1;background-color:rgb(39 39 42 / var(--tw-bg-opacity, 1))}.bg-zinc-900{--tw-bg-opacity: 1;background-color:rgb(24 24 27 / var(--tw-bg-opacity, 1))}.bg-zinc-900\/50{background-color:#18181b80}.bg-zinc-900\/90{background-color:#18181be6}.bg-zinc-950{--tw-bg-opacity: 1;background-color:rgb(9 9 11 / var(--tw-bg-opacity, 1))}.bg-zinc-950\/50{background-color:#09090b80}.bg-zinc-950\/80{background-color:#09090bcc}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-\[\#0d1126\]{--tw-gradient-from: #0d1126 var(--tw-gradient-from-position);--tw-gradient-to: rgb(13 17 38 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[rgb\(var\(--color-primary\)\)\/10\]{--tw-gradient-from: rgb(var(--color-primary))/10 var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[var\(--bg-tertiary\)\]{--tw-gradient-from: var(--bg-tertiary) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-amber-500\/20{--tw-gradient-from: rgb(245 158 11 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-black\/60{--tw-gradient-from: rgb(0 0 0 / .6) var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-500\/10{--tw-gradient-from: rgb(59 130 246 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-500\/20{--tw-gradient-from: rgb(59 130 246 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-950\/20{--tw-gradient-from: rgb(23 37 84 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(23 37 84 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-emerald-500\/0{--tw-gradient-from: rgb(16 185 129 / 0) var(--tw-gradient-from-position);--tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-emerald-500\/10{--tw-gradient-from: rgb(16 185 129 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-emerald-500\/20{--tw-gradient-from: rgb(16 185 129 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-500\/0{--tw-gradient-from: rgb(99 102 241 / 0) var(--tw-gradient-from-position);--tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-500\/10{--tw-gradient-from: rgb(99 102 241 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-500\/20{--tw-gradient-from: rgb(99 102 241 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-600\/20{--tw-gradient-from: rgb(79 70 229 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(79 70 229 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-950\/20{--tw-gradient-from: rgb(30 27 75 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(30 27 75 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-950\/40{--tw-gradient-from: rgb(30 27 75 / .4) var(--tw-gradient-from-position);--tw-gradient-to: rgb(30 27 75 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-950\/50{--tw-gradient-from: rgb(30 27 75 / .5) var(--tw-gradient-from-position);--tw-gradient-to: rgb(30 27 75 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-500\/20{--tw-gradient-from: rgb(239 68 68 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(239 68 68 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-slate-500\/20{--tw-gradient-from: rgb(100 116 139 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(100 116 139 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-white{--tw-gradient-from: #fff var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-white\/5{--tw-gradient-from: rgb(255 255 255 / .05) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-\[\#0d1126\]\/20{--tw-gradient-to: rgb(13 17 38 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(13 17 38 / .2) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-\[\#0d1126\]\/40{--tw-gradient-to: rgb(13 17 38 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(13 17 38 / .4) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-emerald-500\/\[0\.02\]{--tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(16 185 129 / .02) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-indigo-500\/\[0\.03\]{--tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(99 102 241 / .03) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-transparent{--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-white\/90{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / .9) var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-amber-500\/10{--tw-gradient-to: rgb(245 158 11 / .1) var(--tw-gradient-to-position)}.to-amber-900\/40{--tw-gradient-to: rgb(120 53 15 / .4) var(--tw-gradient-to-position)}.to-black\/20{--tw-gradient-to: rgb(0 0 0 / .2) var(--tw-gradient-to-position)}.to-black\/40{--tw-gradient-to: rgb(0 0 0 / .4) var(--tw-gradient-to-position)}.to-black\/60{--tw-gradient-to: rgb(0 0 0 / .6) var(--tw-gradient-to-position)}.to-blue-500\/10{--tw-gradient-to: rgb(59 130 246 / .1) var(--tw-gradient-to-position)}.to-blue-900\/40{--tw-gradient-to: rgb(30 58 138 / .4) var(--tw-gradient-to-position)}.to-emerald-500\/0{--tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position)}.to-emerald-500\/10{--tw-gradient-to: rgb(16 185 129 / .1) var(--tw-gradient-to-position)}.to-emerald-900\/40{--tw-gradient-to: rgb(6 78 59 / .4) var(--tw-gradient-to-position)}.to-indigo-500\/0{--tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position)}.to-purple-500\/10{--tw-gradient-to: rgb(168 85 247 / .1) var(--tw-gradient-to-position)}.to-purple-500\/20{--tw-gradient-to: rgb(168 85 247 / .2) var(--tw-gradient-to-position)}.to-purple-600\/20{--tw-gradient-to: rgb(147 51 234 / .2) var(--tw-gradient-to-position)}.to-red-900\/40{--tw-gradient-to: rgb(127 29 29 / .4) var(--tw-gradient-to-position)}.to-slate-900\/40{--tw-gradient-to: rgb(15 23 42 / .4) var(--tw-gradient-to-position)}.to-slate-900\/50{--tw-gradient-to: rgb(15 23 42 / .5) var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.to-white\/40{--tw-gradient-to: rgb(255 255 255 / .4) var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-current{fill:currentColor}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-10{padding:2.5rem}.p-12{padding:3rem}.p-16{padding:4rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-20{padding:5rem}.p-3{padding:.75rem}.p-32{padding:8rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-12{padding-left:3rem;padding-right:3rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-20{padding-left:5rem;padding-right:5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-20{padding-bottom:5rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pl-1{padding-left:.25rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-12{padding-left:3rem}.pl-14{padding-left:3.5rem}.pl-16{padding-left:4rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-8{padding-left:2rem}.pr-1{padding-right:.25rem}.pr-4{padding-right:1rem}.pr-6{padding-right:1.5rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-10{padding-top:2.5rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:Inter,system-ui,sans-serif}.font-serif{font-family:Cinzel,Merriweather,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-9xl{font-size:8rem;line-height:1}.text-\[0\.65rem\]{font-size:.65rem}.text-\[0\.95rem\]{font-size:.95rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12rem\]{font-size:12rem}.text-\[13px\]{font-size:13px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.not-italic{font-style:normal}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-\[0\.1em\]{letter-spacing:.1em}.tracking-\[0\.25em\]{letter-spacing:.25em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-\[0\.3em\]{letter-spacing:.3em}.tracking-\[0\.4em\]{letter-spacing:.4em}.tracking-\[0\.5em\]{letter-spacing:.5em}.tracking-tight{letter-spacing:-.025em}.tracking-tighter{letter-spacing:-.05em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[rgb\(var\(--color-primary\)\)\]{color:rgb(var(--color-primary))}.text-\[rgb\(var\(--color-primary-light\)\)\]{color:rgb(var(--color-primary-light))}.text-\[rgb\(var\(--color-primary-light\)\)\]\/60{color:rgb(var(--color-primary-light) / .6)}.text-\[var\(--fear-color\)\]{color:var(--fear-color)}.text-\[var\(--hope-color\)\]{color:var(--hope-color)}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-\[var\(--text-primary\)\]{color:var(--text-primary)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-amber-100\/80{color:#fef3c7cc}.text-amber-100\/90{color:#fef3c7e6}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.text-amber-400\/60{color:#fbbf2499}.text-amber-400\/80{color:#fbbf24cc}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-amber-500\/40{color:#f59e0b66}.text-amber-500\/60{color:#f59e0b99}.text-amber-500\/80{color:#f59e0bcc}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-blue-200{--tw-text-opacity: 1;color:rgb(191 219 254 / var(--tw-text-opacity, 1))}.text-blue-200\/80{color:#bfdbfecc}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-400\/50{color:#60a5fa80}.text-blue-400\/60{color:#60a5fa99}.text-emerald-200{--tw-text-opacity: 1;color:rgb(167 243 208 / var(--tw-text-opacity, 1))}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.text-emerald-400\/60{color:#34d39999}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.text-emerald-500\/40{color:#10b98166}.text-emerald-500\/60{color:#10b98199}.text-indigo-300{--tw-text-opacity: 1;color:rgb(165 180 252 / var(--tw-text-opacity, 1))}.text-indigo-400{--tw-text-opacity: 1;color:rgb(129 140 248 / var(--tw-text-opacity, 1))}.text-indigo-400\/50{color:#818cf880}.text-indigo-400\/60{color:#818cf899}.text-indigo-500{--tw-text-opacity: 1;color:rgb(99 102 241 / var(--tw-text-opacity, 1))}.text-orange-400{--tw-text-opacity: 1;color:rgb(251 146 60 / var(--tw-text-opacity, 1))}.text-orange-500\/60{color:#f9731699}.text-purple-300{--tw-text-opacity: 1;color:rgb(216 180 254 / var(--tw-text-opacity, 1))}.text-purple-400{--tw-text-opacity: 1;color:rgb(192 132 252 / var(--tw-text-opacity, 1))}.text-red-200{--tw-text-opacity: 1;color:rgb(254 202 202 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-400\/60{color:#f8717199}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-500\/60{color:#ef444499}.text-rose-400{--tw-text-opacity: 1;color:rgb(251 113 133 / var(--tw-text-opacity, 1))}.text-rose-400\/50{color:#fb718580}.text-rose-400\/60{color:#fb718599}.text-sky-400{--tw-text-opacity: 1;color:rgb(56 189 248 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-transparent{color:transparent}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/10{color:#ffffff1a}.text-white\/20{color:#fff3}.text-white\/30{color:#ffffff4d}.text-white\/40{color:#fff6}.text-white\/50{color:#ffffff80}.text-white\/60{color:#fff9}.text-white\/70{color:#ffffffb3}.text-white\/80{color:#fffc}.text-white\/90{color:#ffffffe6}.text-white\/95{color:#fffffff2}.text-white\/\[0\.02\]{color:#ffffff05}.text-white\/\[0\.03\]{color:#ffffff08}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.text-zinc-100{--tw-text-opacity: 1;color:rgb(244 244 245 / var(--tw-text-opacity, 1))}.text-zinc-200{--tw-text-opacity: 1;color:rgb(228 228 231 / var(--tw-text-opacity, 1))}.text-zinc-300{--tw-text-opacity: 1;color:rgb(212 212 216 / var(--tw-text-opacity, 1))}.text-zinc-400{--tw-text-opacity: 1;color:rgb(161 161 170 / var(--tw-text-opacity, 1))}.text-zinc-500{--tw-text-opacity: 1;color:rgb(113 113 122 / var(--tw-text-opacity, 1))}.text-zinc-600{--tw-text-opacity: 1;color:rgb(82 82 91 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.placeholder-amber-500\/30::-moz-placeholder{color:#f59e0b4d}.placeholder-amber-500\/30::placeholder{color:#f59e0b4d}.placeholder-zinc-600::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(82 82 91 / var(--tw-placeholder-opacity, 1))}.placeholder-zinc-600::placeholder{--tw-placeholder-opacity: 1;color:rgb(82 82 91 / var(--tw-placeholder-opacity, 1))}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-5{opacity:.05}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.opacity-\[0\.03\]{opacity:.03}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_12px_rgba\(129\,140\,248\,0\.8\)\]{--tw-shadow: 0 0 12px rgba(129,140,248,.8);--tw-shadow-colored: 0 0 12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_15px_rgba\(129\,140\,248\,0\.1\)\]{--tw-shadow: 0 0 15px rgba(129,140,248,.1);--tw-shadow-colored: 0 0 15px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_15px_rgba\(251\,113\,133\,0\.1\)\]{--tw-shadow: 0 0 15px rgba(251,113,133,.1);--tw-shadow-colored: 0 0 15px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_15px_rgba\(255\,255\,255\,0\.1\)\]{--tw-shadow: 0 0 15px rgba(255,255,255,.1);--tw-shadow-colored: 0 0 15px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_15px_rgba\(52\,211\,153\,0\.1\)\]{--tw-shadow: 0 0 15px rgba(52,211,153,.1);--tw-shadow-colored: 0 0 15px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_15px_rgba\(96\,165\,250\,0\.1\)\]{--tw-shadow: 0 0 15px rgba(96,165,250,.1);--tw-shadow-colored: 0 0 15px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_20px_rgba\(14\,165\,233\,0\.1\)\]{--tw-shadow: 0 0 20px rgba(14,165,233,.1);--tw-shadow-colored: 0 0 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_20px_rgba\(16\,185\,129\,0\.1\)\]{--tw-shadow: 0 0 20px rgba(16,185,129,.1);--tw-shadow-colored: 0 0 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_20px_rgba\(244\,63\,94\,0\.1\)\]{--tw-shadow: 0 0 20px rgba(244,63,94,.1);--tw-shadow-colored: 0 0 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_20px_rgba\(245\,158\,11\,0\.1\)\]{--tw-shadow: 0 0 20px rgba(245,158,11,.1);--tw-shadow-colored: 0 0 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_20px_rgba\(255\,255\,255\,0\.15\)\]{--tw-shadow: 0 0 20px rgba(255,255,255,.15);--tw-shadow-colored: 0 0 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_20px_rgba\(79\,70\,229\,0\.3\)\]{--tw-shadow: 0 0 20px rgba(79,70,229,.3);--tw-shadow-colored: 0 0 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_20px_rgba\(79\,70\,229\,0\.5\)\]{--tw-shadow: 0 0 20px rgba(79,70,229,.5);--tw-shadow-colored: 0 0 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_30px_rgba\(79\,70\,229\,0\.3\)\]{--tw-shadow: 0 0 30px rgba(79,70,229,.3);--tw-shadow-colored: 0 0 30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_50px_rgba\(14\,165\,233\,0\.2\)\]{--tw-shadow: 0 0 50px rgba(14,165,233,.2);--tw-shadow-colored: 0 0 50px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_50px_rgba\(79\,70\,229\,0\.2\)\]{--tw-shadow: 0 0 50px rgba(79,70,229,.2);--tw-shadow-colored: 0 0 50px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(245\,158\,11\,0\.6\)\]{--tw-shadow: 0 0 8px rgba(245,158,11,.6);--tw-shadow-colored: 0 0 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(34\,197\,94\,0\.4\)\]{--tw-shadow: 0 0 8px rgba(34,197,94,.4);--tw-shadow-colored: 0 0 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(34\,197\,94\,0\.6\)\]{--tw-shadow: 0 0 8px rgba(34,197,94,.6);--tw-shadow-colored: 0 0 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_30px_100px_rgba\(0\,0\,0\,0\.8\)\]{--tw-shadow: 0 30px 100px rgba(0,0,0,.8);--tw-shadow-colored: 0 30px 100px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_4px_12px_rgba\(255\,255\,255\,0\.05\)\]{--tw-shadow: 0 4px 12px rgba(255,255,255,.05);--tw-shadow-colored: 0 4px 12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[rgb\(var\(--color-primary\)\)\/20\]{--tw-shadow-color: rgb(var(--color-primary))/20;--tw-shadow: var(--tw-shadow-colored)}.shadow-\[rgb\(var\(--color-primary\)\/0\.2\)\]{--tw-shadow-color: rgb(var(--color-primary)/.2);--tw-shadow: var(--tw-shadow-colored)}.shadow-indigo-500\/20{--tw-shadow-color: rgb(99 102 241 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-indigo-600\/10{--tw-shadow-color: rgb(79 70 229 / .1);--tw-shadow: var(--tw-shadow-colored)}.shadow-red-500\/0{--tw-shadow-color: rgb(239 68 68 / 0);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-inset{--tw-ring-inset: inset}.ring-\[rgb\(var\(--color-primary\)\)\/50\]{--tw-ring-color: rgb(var(--color-primary))/50}.ring-\[rgb\(var\(--color-primary\)\)\]{--tw-ring-color: rgb(var(--color-primary))}.ring-amber-400\/20{--tw-ring-color: rgb(251 191 36 / .2)}.ring-amber-500\/50{--tw-ring-color: rgb(245 158 11 / .5)}.ring-blue-400\/20{--tw-ring-color: rgb(96 165 250 / .2)}.ring-blue-500\/10{--tw-ring-color: rgb(59 130 246 / .1)}.ring-emerald-400\/20{--tw-ring-color: rgb(52 211 153 / .2)}.ring-indigo-400\/20{--tw-ring-color: rgb(129 140 248 / .2)}.ring-indigo-500{--tw-ring-opacity: 1;--tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity, 1))}.ring-purple-400\/20{--tw-ring-color: rgb(192 132 252 / .2)}.ring-red-400\/20{--tw-ring-color: rgb(248 113 113 / .2)}.ring-red-500\/10{--tw-ring-color: rgb(239 68 68 / .1)}.ring-rose-400\/20{--tw-ring-color: rgb(251 113 133 / .2)}.ring-slate-400\/20{--tw-ring-color: rgb(148 163 184 / .2)}.ring-slate-500\/20{--tw-ring-color: rgb(100 116 139 / .2)}.ring-transparent{--tw-ring-color: transparent}.ring-white{--tw-ring-opacity: 1;--tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1))}.ring-white\/10{--tw-ring-color: rgb(255 255 255 / .1)}.ring-white\/20{--tw-ring-color: rgb(255 255 255 / .2)}.ring-white\/5{--tw-ring-color: rgb(255 255 255 / .05)}.ring-offset-2{--tw-ring-offset-width: 2px}.ring-offset-zinc-900{--tw-ring-offset-color: #18181b}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-2xl{--tw-blur: blur(40px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-\[100px\]{--tw-blur: blur(100px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-\[120px\]{--tw-blur: blur(120px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-\[150px\]{--tw-blur: blur(150px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-\[80px\]{--tw-blur: blur(80px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-lg{--tw-blur: blur(16px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.contrast-125{--tw-contrast: contrast(1.25);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-\[0_0_8px_rgba\(129\,140\,248\,0\.5\)\]{--tw-drop-shadow: drop-shadow(0 0 8px rgba(129,140,248,.5));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-lg{--tw-drop-shadow: drop-shadow(0 10px 8px rgb(0 0 0 / .04)) drop-shadow(0 4px 3px rgb(0 0 0 / .1));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-2xl{--tw-backdrop-blur: blur(40px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.delay-1000{transition-delay:1s}.delay-500{transition-delay:.5s}.delay-700{transition-delay:.7s}.duration-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.duration-\[10s\]{transition-duration:10s}.duration-\[2s\]{transition-duration:2s}.duration-\[3s\]{transition-duration:3s}.duration-\[4s\]{transition-duration:4s}.ease-\[cubic-bezier\(0\.4\,0\,0\.2\,1\)\]{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{--bg-primary: #0d1126;--bg-secondary: #141b33;--bg-tertiary: #1a2340;--accent-primary: #eab308;--accent-secondary: #f59e0b;--accent-tertiary: #8b5cf6;--glow-color: rgba(234, 179, 8, .3);--border-accent: rgba(234, 179, 8, .4);--text-primary: #e8e6e3;--text-secondary: rgba(232, 230, 227, .8);--text-muted: rgba(232, 230, 227, .6);--hope-color: var(--accent-primary);--hope-secondary: var(--accent-secondary);--fear-color: var(--accent-tertiary);--fear-secondary: var(--accent-tertiary);--danger: #ef4444;--success: #22c55e;--border: rgba(255, 255, 255, .1);--card-bg: rgba(13, 17, 38, .8);--sidebar-width: 280px;--sidebar-collapsed-width: 72px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Crimson Pro,Georgia,serif;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);color:var(--text-primary);min-height:100vh;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:Cinzel,serif;font-weight:600;line-height:1.3}button{font-family:Crimson Pro,Georgia,serif;cursor:pointer;transition:all .2s ease}input,textarea,select{font-family:Crimson Pro,Georgia,serif}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#fff3}.container{max-width:100%;margin:0 auto;padding:1rem}@media(min-width:768px){.container{padding:1.5rem}}@media(min-width:1024px){.container{max-width:1400px;padding:2rem}}.card{background:var(--card-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-accent);border-radius:16px;padding:1.5rem;transition:all .3s ease;box-shadow:0 0 20px var(--glow-color),inset 0 1px #ffffff0d}.card:hover{border-color:var(--accent-primary);box-shadow:0 0 30px var(--glow-color),0 8px 32px #0000004d;transform:translateY(-2px)}.btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:500;font-size:.95rem;display:inline-flex;align-items:center;gap:.5rem;transition:all .2s ease;min-height:44px}.btn:hover{transform:translateY(-2px);filter:brightness(1.1)}.btn:active{transform:translateY(0)}.btn-primary{background:linear-gradient(135deg,var(--hope-color),var(--hope-secondary));color:var(--bg-primary)}.btn-primary.dm-mode{background:linear-gradient(135deg,var(--fear-color),var(--fear-secondary));color:#fff}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border)}.btn-danger{background:var(--danger);color:#fff}.btn-icon{padding:.5rem;background:transparent;border:1px solid var(--border);color:var(--text-primary)}.btn-icon:hover{background:var(--card-bg)}.input-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.input-group label{font-weight:500;font-size:.95rem;color:var(--text-primary)}.input-group input,.input-group textarea,.input-group select{padding:.875rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:.95rem;min-height:44px}.input-group input:focus,.input-group textarea:focus,.input-group select:focus{outline:none;border-color:var(--hope-color)}.dm-mode .input-group input:focus,.dm-mode .input-group textarea:focus,.dm-mode .input-group select:focus{border-color:var(--fear-color)}.input-group textarea{resize:vertical;min-height:100px}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;border-radius:999px;font-size:.85rem;font-weight:500;background:var(--card-bg);border:1px solid var(--border)}.badge-hope{background:linear-gradient(135deg,var(--hope-color),var(--hope-secondary));color:var(--bg-primary);border:none}.badge-fear{background:linear-gradient(135deg,var(--fear-color),var(--fear-secondary));color:#fff;border:none}.badge-danger{background:var(--danger);color:#fff;border:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.fade-in{animation:fadeIn .3s ease}.slide-in{animation:slideIn .3s ease}.mobile-only{display:block}.desktop-only{display:none}@media(min-width:768px){.mobile-only{display:none}.desktop-only{display:block}}.flex-mobile-column{flex-direction:column}@media(min-width:768px){.flex-mobile-column{flex-direction:row}}.grid-mobile-1-tablet-2-desktop-3{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:768px){.grid-mobile-1-tablet-2-desktop-3{grid-template-columns:repeat(2,1fr);gap:1.5rem}}@media(min-width:1024px){.grid-mobile-1-tablet-2-desktop-3{grid-template-columns:repeat(3,1fr);gap:2rem}}.view-header{display:flex;flex-direction:column;gap:1rem;align-items:stretch;margin-bottom:1.5rem}.view-header h1{font-size:1.5rem}.view-header .btn{width:100%}@media(min-width:768px){.view-header{flex-direction:row;justify-content:space-between;align-items:center}.view-header h1{font-size:2rem}.view-header .btn{width:auto}}.characters-view,.lore-view,.sessions-view,.tools-view,.files-view,.npcs-view,.locations-view,.timeline-view{padding:1rem}@media(min-width:768px){.characters-view,.lore-view,.sessions-view,.tools-view,.files-view,.npcs-view,.locations-view,.timeline-view{padding:1.5rem}}@media(min-width:1024px){.characters-view,.lore-view,.sessions-view,.tools-view,.files-view,.npcs-view,.locations-view,.timeline-view{padding:2rem}}.marker\:text-\[var\(--hope-color\)\] *::marker{color:var(--hope-color)}.marker\:text-\[var\(--hope-color\)\]::marker{color:var(--hope-color)}.selection\:bg-indigo-500\/30 *::-moz-selection{background-color:#6366f14d}.selection\:bg-indigo-500\/30 *::selection{background-color:#6366f14d}.selection\:bg-indigo-500\/30::-moz-selection{background-color:#6366f14d}.selection\:bg-indigo-500\/30::selection{background-color:#6366f14d}.placeholder\:text-white\/10::-moz-placeholder{color:#ffffff1a}.placeholder\:text-white\/10::placeholder{color:#ffffff1a}.placeholder\:text-white\/20::-moz-placeholder{color:#fff3}.placeholder\:text-white\/20::placeholder{color:#fff3}.placeholder\:text-white\/30::-moz-placeholder{color:#ffffff4d}.placeholder\:text-white\/30::placeholder{color:#ffffff4d}.placeholder\:text-white\/5::-moz-placeholder{color:#ffffff0d}.placeholder\:text-white\/5::placeholder{color:#ffffff0d}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:bottom-4:before{content:var(--tw-content);bottom:1rem}.before\:left-3\.5:before{content:var(--tw-content);left:.875rem}.before\:top-4:before{content:var(--tw-content);top:1rem}.before\:w-px:before{content:var(--tw-content);width:1px}.before\:bg-white\/10:before{content:var(--tw-content);background-color:#ffffff1a}.focus-within\:border-\[rgb\(var\(--color-primary\)\)\]:focus-within{border-color:rgb(var(--color-primary))}.focus-within\:ring-1:focus-within{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-within\:ring-\[rgb\(var\(--color-primary\)\)\/50\]:focus-within{--tw-ring-color: rgb(var(--color-primary))/50}.hover\:z-20:hover{z-index:20}.hover\:-translate-y-0\.5:hover{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:-translate-y-1:hover{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:-translate-y-2:hover{--tw-translate-y: -.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-\[rgb\(var\(--color-accent\)\/0\.4\)\]:hover{border-color:rgb(var(--color-accent)/.4)}.hover\:border-\[rgb\(var\(--color-primary\)\)\]:hover{border-color:rgb(var(--color-primary))}.hover\:border-\[var\(--hope-color\)\]:hover{border-color:var(--hope-color)}.hover\:border-indigo-500\/20:hover{border-color:#6366f133}.hover\:border-indigo-500\/50:hover{border-color:#6366f180}.hover\:border-red-500:hover{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.hover\:border-white\/10:hover{border-color:#ffffff1a}.hover\:border-white\/20:hover{border-color:#fff3}.hover\:border-zinc-500:hover{--tw-border-opacity: 1;border-color:rgb(113 113 122 / var(--tw-border-opacity, 1))}.hover\:border-zinc-600:hover{--tw-border-opacity: 1;border-color:rgb(82 82 91 / var(--tw-border-opacity, 1))}.hover\:bg-\[rgb\(var\(--color-primary\)\)\/20\]:hover{background-color:rgb(var(--color-primary))/20}.hover\:bg-\[rgb\(var\(--color-primary-light\)\)\]:hover{background-color:rgb(var(--color-primary-light))}.hover\:bg-\[var\(--bg-primary\)\]:hover{background-color:var(--bg-primary)}.hover\:bg-\[var\(--bg-secondary\)\]:hover{background-color:var(--bg-secondary)}.hover\:bg-amber-500\/10:hover{background-color:#f59e0b1a}.hover\:bg-amber-500\/20:hover{background-color:#f59e0b33}.hover\:bg-emerald-500\/10:hover{background-color:#10b9811a}.hover\:bg-emerald-500\/20:hover{background-color:#10b98133}.hover\:bg-emerald-500\/30:hover{background-color:#10b9814d}.hover\:bg-emerald-700:hover{--tw-bg-opacity: 1;background-color:rgb(4 120 87 / var(--tw-bg-opacity, 1))}.hover\:bg-indigo-500:hover{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}.hover\:bg-indigo-500\/10:hover{background-color:#6366f11a}.hover\:bg-indigo-600:hover{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1))}.hover\:bg-orange-500\/10:hover{background-color:#f973161a}.hover\:bg-purple-500\/20:hover{background-color:#a855f733}.hover\:bg-red-500:hover{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.hover\:bg-red-500\/10:hover{background-color:#ef44441a}.hover\:bg-red-500\/20:hover{background-color:#ef444433}.hover\:bg-red-500\/30:hover{background-color:#ef44444d}.hover\:bg-red-700:hover{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:bg-white\/20:hover{background-color:#fff3}.hover\:bg-white\/5:hover{background-color:#ffffff0d}.hover\:bg-white\/\[0\.01\]:hover{background-color:#ffffff03}.hover\:bg-white\/\[0\.02\]:hover{background-color:#ffffff05}.hover\:bg-white\/\[0\.03\]:hover{background-color:#ffffff08}.hover\:bg-white\/\[0\.05\]:hover{background-color:#ffffff0d}.hover\:bg-white\/\[0\.06\]:hover{background-color:#ffffff0f}.hover\:bg-white\/\[0\.08\]:hover{background-color:#ffffff14}.hover\:bg-zinc-700:hover{--tw-bg-opacity: 1;background-color:rgb(63 63 70 / var(--tw-bg-opacity, 1))}.hover\:bg-zinc-800:hover{--tw-bg-opacity: 1;background-color:rgb(39 39 42 / var(--tw-bg-opacity, 1))}.hover\:bg-zinc-800\/50:hover{background-color:#27272a80}.hover\:text-\[rgb\(var\(--color-primary\)\)\]:hover{color:rgb(var(--color-primary))}.hover\:text-\[var\(--danger\)\]:hover{color:var(--danger)}.hover\:text-\[var\(--hope-color\)\]:hover{color:var(--hope-color)}.hover\:text-amber-400:hover{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.hover\:text-amber-500:hover{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.hover\:text-emerald-400:hover{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.hover\:text-indigo-400:hover{--tw-text-opacity: 1;color:rgb(129 140 248 / var(--tw-text-opacity, 1))}.hover\:text-orange-400:hover{--tw-text-opacity: 1;color:rgb(251 146 60 / var(--tw-text-opacity, 1))}.hover\:text-red-300:hover{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.hover\:text-red-400:hover{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:text-white\/50:hover{color:#ffffff80}.hover\:text-white\/60:hover{color:#fff9}.hover\:text-white\/80:hover{color:#fffc}.hover\:text-zinc-200:hover{--tw-text-opacity: 1;color:rgb(228 228 231 / var(--tw-text-opacity, 1))}.hover\:text-zinc-300:hover{--tw-text-opacity: 1;color:rgb(212 212 216 / var(--tw-text-opacity, 1))}.hover\:text-zinc-400:hover{--tw-text-opacity: 1;color:rgb(161 161 170 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-2xl:hover{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[0_0_30px_rgba\(79\,70\,229\,0\.5\)\]:hover{--tw-shadow: 0 0 30px rgba(79,70,229,.5);--tw-shadow-colored: 0 0 30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[0_0_50px_rgba\(79\,70\,229\,0\.5\)\]:hover{--tw-shadow: 0 0 50px rgba(79,70,229,.5);--tw-shadow-colored: 0 0 50px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[0_20px_50px_rgba\(0\,0\,0\,0\.5\)\]:hover{--tw-shadow: 0 20px 50px rgba(0,0,0,.5);--tw-shadow-colored: 0 20px 50px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[0_20px_60px_rgba\(0\,0\,0\,0\.6\)\]:hover{--tw-shadow: 0 20px 60px rgba(0,0,0,.6);--tw-shadow-colored: 0 20px 60px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-indigo-600\/30:hover{--tw-shadow-color: rgb(79 70 229 / .3);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-red-500\/20:hover{--tw-shadow-color: rgb(239 68 68 / .2);--tw-shadow: var(--tw-shadow-colored)}.hover\:brightness-110:hover{--tw-brightness: brightness(1.1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:border-\[rgb\(var\(--color-primary\)\)\]:focus{border-color:rgb(var(--color-primary))}.focus\:border-\[var\(--hope-color\)\]:focus{border-color:var(--hope-color)}.focus\:bg-black\/40:focus{background-color:#0006}.focus\:bg-white\/\[0\.05\]:focus{background-color:#ffffff0d}.focus\:bg-white\/\[0\.06\]:focus{background-color:#ffffff0f}.focus\:bg-white\/\[0\.07\]:focus{background-color:#ffffff12}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-\[rgb\(var\(--color-primary\)\)\]:focus{--tw-ring-color: rgb(var(--color-primary))}.focus\:ring-indigo-500\/20:focus{--tw-ring-color: rgb(99 102 241 / .2)}.focus\:ring-indigo-500\/40:focus{--tw-ring-color: rgb(99 102 241 / .4)}.focus\:ring-indigo-500\/50:focus{--tw-ring-color: rgb(99 102 241 / .5)}.focus\:ring-sky-500\/40:focus{--tw-ring-color: rgb(14 165 233 / .4)}.focus\:ring-white\/10:focus{--tw-ring-color: rgb(255 255 255 / .1)}.focus\:ring-white\/20:focus{--tw-ring-color: rgb(255 255 255 / .2)}.focus\:ring-offset-0:focus{--tw-ring-offset-width: 0px}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-20:disabled{opacity:.2}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:grayscale:disabled{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.disabled\:hover\:translate-y-0:hover:disabled{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:focus-within .group-focus-within\:hidden{display:none}.group:focus-within .group-focus-within\:text-indigo-400{--tw-text-opacity: 1;color:rgb(129 140 248 / var(--tw-text-opacity, 1))}.group:focus-within .group-focus-within\:text-sky-400{--tw-text-opacity: 1;color:rgb(56 189 248 / var(--tw-text-opacity, 1))}.group:focus-within .group-focus-within\:text-white\/60{color:#fff9}.group:hover .group-hover\:h-\[22rem\]{height:22rem}.group\/btn:hover .group-hover\/btn\:-translate-y-0\.5{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/edit:hover .group-hover\/edit\:-translate-y-1{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/item:hover .group-hover\/item\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/link:hover .group-hover\/link\:translate-x-1{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/link:hover .group-hover\/link\:translate-x-full{--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:-translate-x-1{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:-translate-y-1{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-1{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-full{--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/gen:hover .group-hover\/gen\:rotate-12{--tw-rotate: 12deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:rotate-1{--tw-rotate: 1deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:rotate-12{--tw-rotate: 12deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/item:hover .group-hover\/item\:scale-110,.group\/link:hover .group-hover\/link\:scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-105{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-125{--tw-scale-x: 1.25;--tw-scale-y: 1.25;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:border-white\/10{border-color:#ffffff1a}.group:hover .group-hover\:border-white\/40{border-color:#fff6}.group:hover .group-hover\:bg-indigo-500\/20{background-color:#6366f133}.group:hover .group-hover\:bg-white\/10{background-color:#ffffff1a}.group:hover .group-hover\:text-\[rgb\(var\(--color-primary\)\)\]{color:rgb(var(--color-primary))}.group:hover .group-hover\:text-\[var\(--hope-color\)\]{color:var(--hope-color)}.group:hover .group-hover\:text-indigo-400{--tw-text-opacity: 1;color:rgb(129 140 248 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-white\/30{color:#ffffff4d}.group:hover .group-hover\:text-white\/40{color:#fff6}.group:hover .group-hover\:text-white\/\[0\.07\]{color:#ffffff12}.group\/item:hover .group-hover\/item\:opacity-100{opacity:1}.group:hover .group-hover\:opacity-10{opacity:.1}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:opacity-40{opacity:.4}.group:hover .group-hover\:opacity-50{opacity:.5}.group:hover .group-hover\:opacity-\[0\.05\]{opacity:.05}.group:hover .group-hover\:opacity-\[0\.07\]{opacity:.07}.group:hover .group-hover\:ring-indigo-500{--tw-ring-opacity: 1;--tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity, 1))}.group:hover .group-hover\:brightness-125{--tw-brightness: brightness(1.25);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}@media(min-width:640px){.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:p-6{padding:1.5rem}}@media(min-width:768px){.md\:sticky{position:sticky}.md\:col-span-2{grid-column:span 2 / span 2}.md\:block{display:block}.md\:hidden{display:none}.md\:h-12{height:3rem}.md\:w-12{width:3rem}.md\:w-96{width:24rem}.md\:w-auto{width:auto}.md\:max-w-md{max-width:28rem}.md\:flex-none{flex:none}.md\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-end{justify-content:flex-end}.md\:justify-between{justify-content:space-between}.md\:gap-0{gap:0px}.md\:gap-6{gap:1.5rem}.md\:p-6{padding:1.5rem}.md\:p-8{padding:2rem}.md\:pb-0{padding-bottom:0}}@media(min-width:1024px){.lg\:col-span-1{grid-column:span 1 / span 1}.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:col-span-4{grid-column:span 4 / span 4}.lg\:col-span-8{grid-column:span 8 / span 8}.lg\:max-w-md{max-width:28rem}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}}@media(min-width:1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:1536px){.\32xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.\32xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.\[\&\:\:-webkit-slider-thumb\]\:h-3::-webkit-slider-thumb{height:.75rem}.\[\&\:\:-webkit-slider-thumb\]\:w-3::-webkit-slider-thumb{width:.75rem}.\[\&\:\:-webkit-slider-thumb\]\:appearance-none::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none}.\[\&\:\:-webkit-slider-thumb\]\:rounded-full::-webkit-slider-thumb{border-radius:9999px}.\[\&\:\:-webkit-slider-thumb\]\:bg-indigo-500::-webkit-slider-thumb{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}
