@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@700;800;900&display=swap";.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:14px;background:color-mix(in srgb,var(--surface, var(--bg-secondary)) 88%,transparent);border:1px solid var(--line-strong, var(--border-color));box-shadow:0 12px 36px #00000073,0 0 0 1px color-mix(in srgb,var(--primary) 8%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font-family:var(--font-body);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:var(--success, #22c55e)}.toast-error .toast-icon{color:var(--danger, #ef4444)}.toast-warning .toast-icon{color:var(--warning, #f59e0b)}.toast-info .toast-icon{color:var(--accent, #3b82f6)}.toast-content{flex:1;min-width:0}.toast-message{margin:0;font-size:13.5px;line-height:1.5;color:var(--text, var(--text-primary));word-wrap:break-word}.toast-action{margin-top:8px;padding:5px 12px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent, var(--hope-color));background:transparent;border:1px solid color-mix(in srgb,var(--accent, var(--hope-color)) 45%,transparent);border-radius:8px;cursor:pointer;transition:all .18s}.toast-action:hover{background:var(--accent, var(--hope-color));color:var(--bg, var(--bg-primary))}.toast-dismiss{flex-shrink:0;padding:4px;background:transparent;border:none;color:var(--text-muted, var(--text-secondary));cursor:pointer;border-radius:6px;transition:all .18s;display:flex;align-items:center;justify-content:center}.toast-dismiss:hover{background:var(--surface-hi, var(--bg-tertiary));color:var(--text, var(--text-primary))}.toast-success{border-left:3px solid var(--success, #22c55e)}.toast-error{border-left:3px solid var(--danger, #ef4444)}.toast-warning{border-left:3px solid var(--warning, #f59e0b)}.toast-info{border-left:3px solid var(--accent, #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{margin-bottom:1.5rem}.auth-brand h1{font-size:2rem}}.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:2000;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(max-width:480px){.sidebar{width:min(280px,80vw);left:min(-280px,-80vw)}.sidebar.mobile-open{left:0}.mobile-menu-toggle{top:max(1rem,env(safe-area-inset-top));left:max(1rem,env(safe-area-inset-left))}}@media(min-width:768px){.mobile-menu-toggle{display:none}.sidebar-backdrop{display:none!important}}.dice-tray{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9000;background:#0000;transition:background .3s ease;display:flex;align-items:center;justify-content:center}.dice-tray.is-visible{pointer-events:auto;background:#0000008c}.dice-tray-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.dice-tray-canvas canvas{width:100%!important;height:100%!important}.dice-result-banner{position:relative;z-index:1;background:#0f0f19eb;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:1.25rem 2rem;color:#fff;text-align:center;min-width:280px;box-shadow:0 12px 40px #0009;animation:dr-banner-in .35s ease}@keyframes dr-banner-in{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.dice-result-banner.outcome-hope{border-color:#fbbf24;box-shadow:0 0 40px #fbbf2459}.dice-result-banner.outcome-fear{border-color:#a855f7;box-shadow:0 0 40px #a855f759}.dice-result-banner.is-crit{border-color:#22c55e;box-shadow:0 0 40px #22c55e73}.dice-result-banner.is-critfail{border-color:#ef4444;box-shadow:0 0 40px #ef444473}.dice-result-banner.is-complication{border-color:#f59e0b}.banner-dice{display:flex;align-items:center;justify-content:center;gap:.6rem;font-size:1.05rem;margin-bottom:.4rem}.banner-dice .hope-chip{display:inline-flex;align-items:center;gap:.3rem;color:#fbbf24;font-weight:700}.banner-dice .fear-chip{display:inline-flex;align-items:center;gap:.3rem;color:#a855f7;font-weight:700}.banner-dice .vs{opacity:.5}.banner-dice .adv-chip{color:#22c55e;font-weight:700}.banner-dice .dis-chip{color:#ef4444;font-weight:700}.banner-total{font-size:3.25rem;font-weight:800;letter-spacing:-.02em;margin:.25rem 0}.banner-outcome{font-size:.95rem;font-weight:700;letter-spacing:.08em;margin-top:.25rem;text-transform:uppercase}.banner-outcome.hope{color:#fbbf24}.banner-outcome.fear{color:#a855f7}.banner-outcome.crit{color:#22c55e}.banner-outcome.critfail{color:#ef4444}.banner-outcome.complication{color:#f59e0b}.banner-label{margin-top:.5rem;font-size:.85rem;opacity:.75;font-style:italic}.dice-roller--fab{position:fixed;bottom:1.5rem;right:1.5rem;z-index:8000}@media(max-width:900px){.dice-roller--fab{bottom:calc(56px + env(safe-area-inset-bottom,0px) + 1rem)}}.dice-fab-btn{width:56px;height:56px;border-radius:50%;background:#0f0f19eb;border:3px solid #6366f1;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s ease}.dice-fab-btn:hover{transform:scale(1.06)}.dice-roller--fab .dice-roller-panel{position:absolute;bottom:70px;right:0;width:320px;max-height:80vh;overflow-y:auto}.dice-roller-panel{background:#0f0f19f5;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:.85rem;color:#fff;display:flex;flex-direction:column;gap:.6rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dice-roller--inline .dice-roller-panel{width:100%;background:transparent;border:none;padding:0;-webkit-backdrop-filter:none;backdrop-filter:none}.dr-header{display:flex;align-items:center;justify-content:space-between}.dr-title{display:inline-flex;align-items:center;gap:.4rem;font-weight:700}.dr-header-actions{display:inline-flex;gap:.25rem}.dr-icon-btn{width:26px;height:26px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#fff;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center}.dr-icon-btn:hover{background:#ffffff1f}.dr-identity{display:flex;gap:.4rem}.dr-name{flex:1;background:#ffffff0d;border:2px solid rgba(255,255,255,.18);border-radius:6px;color:#fff;padding:.4rem .5rem;font-size:.9rem}.dr-color-btn{width:30px;border-radius:6px;border:1px solid rgba(255,255,255,.25);cursor:pointer;color:#fff;display:flex;align-items:center;justify-content:center}.dr-color-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem;margin:.2rem 0}.dr-color-swatch{width:26px;height:26px;border-radius:50%;border:2px solid transparent;cursor:pointer}.dr-color-swatch.active{border-color:#fff;box-shadow:0 0 8px currentColor}.dr-systems{display:grid;grid-template-columns:repeat(2,1fr);gap:.3rem}.dr-system-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:6px;color:#ffffffb3;padding:.4rem .5rem;font-size:.78rem;cursor:pointer}.dr-system-btn.active{border-color:#fbbf24;color:#fbbf24;background:#fbbf2414}.dr-section{padding:.5rem;border:1px solid rgba(255,255,255,.06);border-radius:8px;background:#ffffff05;display:flex;flex-direction:column;gap:.5rem}.dr-row{display:flex;align-items:center;gap:.5rem;justify-content:space-between}.dr-row label{font-size:.85rem;opacity:.8}.dr-toggle{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);padding:.3rem .5rem;border-radius:6px;cursor:pointer;color:#ffffffb3}.dr-toggle.on{border-color:#fbbf24;color:#fbbf24;background:#fbbf2414}.dr-toggle input{display:none}.dr-hopefear{display:flex;justify-content:center;gap:1.5rem;padding:.4rem 0}.dr-hope{color:#fbbf24;font-weight:700;display:inline-flex;align-items:center;gap:.25rem}.dr-fear{color:#a855f7;font-weight:700;display:inline-flex;align-items:center;gap:.25rem}.dr-quick-row{display:grid;grid-template-columns:repeat(6,1fr);gap:.3rem}.dr-quick-die{background:#ffffff0a;border:1px solid;border-radius:6px;padding:.35rem 0;font-size:.8rem;font-weight:700;cursor:pointer}.dr-quick-die:hover{background:#ffffff14}.dr-quick-die:disabled{opacity:.5;cursor:not-allowed}.dr-mode-row{display:inline-flex;gap:.25rem}.dr-mode-btn{padding:.3rem .6rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.18);color:#ffffffb3;border-radius:6px;font-size:.78rem;cursor:pointer}.dr-mode-btn.active{border-color:#fbbf24;color:#fbbf24;background:#fbbf2414}.dr-generic-grid{display:flex;flex-direction:column;gap:.4rem}.dr-generic-row{display:flex;align-items:center;justify-content:space-between}.dr-generic-label{font-weight:700;font-size:.9rem}.dr-counter{display:inline-flex;align-items:center;gap:.25rem}.dr-counter button{width:26px;height:26px;background:#ffffff0d;border:1px solid rgba(255,255,255,.18);color:#fff;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center}.dr-counter button:disabled{opacity:.4;cursor:not-allowed}.dr-counter input,.dr-counter-value{width:40px;text-align:center;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);color:#fff;border-radius:6px;padding:.25rem 0;font-size:.85rem;font-weight:700}.dr-counter-value{display:inline-block}.dr-label-input{flex:1;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:6px;color:#fff;padding:.45rem .5rem;font-size:.85rem}.dr-roll-btn{width:100%;padding:.65rem;border:none;border-radius:8px;background:linear-gradient(135deg,#fbbf24,#a855f7);color:#fff;font-weight:700;font-size:.95rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.4rem}.dr-roll-btn:disabled{opacity:.5;cursor:not-allowed}.dr-history{border-top:1px solid rgba(255,255,255,.08);padding-top:.5rem}.roll-history{color:#fff}.rh-header{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;font-weight:700;opacity:.85;margin-bottom:.4rem}.rh-clear-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.18);color:#ffffffb3;border-radius:6px;padding:.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.rh-list{display:flex;flex-direction:column;gap:.3rem;max-height:280px;overflow-y:auto}.rh-list.compact{max-height:200px}.rh-empty{font-size:.8rem;color:#ffffff73;text-align:center;padding:.6rem}.rh-item{padding:.4rem .5rem;background:#ffffff0a;border-left:3px solid;border-radius:6px;font-size:.85rem}.rh-item.outcome-hope{background:#fbbf2414}.rh-item.outcome-fear{background:#a855f714}.rh-roller{font-size:.72rem;font-weight:700;margin-bottom:.15rem;opacity:.95}.rh-summary{display:inline-flex;align-items:center;gap:.3rem;font-variant-numeric:tabular-nums}.rh-hope{color:#fbbf24;font-weight:700}.rh-fear{color:#a855f7;font-weight:700}.rh-vs{opacity:.4}.rh-eq{color:#fff;font-weight:700;margin-left:.2rem}.roll-history-sidebar{position:fixed;right:0;top:50%;transform:translateY(-50%) translate(calc(100% + -0px));width:220px;background:#0f0f19eb;border:1px solid rgba(255,255,255,.1);border-right:none;border-radius:12px 0 0 12px;padding:.75rem;z-index:7500;transition:transform .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.roll-history-sidebar.open{transform:translateY(-50%) translate(0)}.roll-history-toggle{position:absolute;left:-28px;top:50%;transform:translateY(-50%);width:28px;height:56px;background:#0f0f19eb;border:1px solid rgba(255,255,255,.1);border-right:none;border-radius:8px 0 0 8px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.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}}.dm-soundboard{background:var(--surface, var(--card-bg));border:1px solid var(--line, var(--border));border-radius:16px;padding:1.25rem;display:flex;flex-direction:column;gap:1rem;font-family:var(--font-body)}.soundboard-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:.75rem;border-bottom:1px solid var(--line, var(--border))}.soundboard-title{display:flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-weight:600;font-size:1.05rem;letter-spacing:-.01em;color:var(--text, var(--text-primary))}.ai-badge{font-size:.6rem;padding:.15rem .4rem;background:var(--accent-soft, linear-gradient(135deg, #8b5cf6, #6366f1));border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:4px;color:var(--accent, white);font-weight:700;letter-spacing:.18em;text-transform:uppercase}.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:.4rem .7rem;background:var(--surface-hi, var(--bg-tertiary));border:1px solid var(--line-strong, var(--border));border-radius:8px;color:var(--text-muted);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:all .2s}.broadcast-toggle.active{background:color-mix(in srgb,var(--success, #22c55e) 15%,transparent);border-color:var(--success, #22c55e);color:var(--success, #22c55e)}.stop-all-btn{padding:.4rem;background:color-mix(in srgb,var(--danger, #ef4444) 10%,transparent);border:1px solid color-mix(in srgb,var(--danger, #ef4444) 30%,transparent);border-radius:8px;color:var(--danger, #ef4444);cursor:pointer;transition:all .2s}.stop-all-btn:hover{background:color-mix(in srgb,var(--danger, #ef4444) 20%,transparent)}.mute-btn{padding:.4rem;background:var(--surface-hi, var(--bg-tertiary));border:1px solid var(--line-strong, var(--border));border-radius:8px;color:var(--text, var(--text-primary));cursor:pointer;transition:all .2s}.mute-btn.muted{background:color-mix(in srgb,var(--danger, #ef4444) 10%,transparent);border-color:color-mix(in srgb,var(--danger, #ef4444) 30%,transparent);color:var(--danger, #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(auto-fill,minmax(92px,1fr));gap:.5rem;max-height:420px;overflow-y:auto;padding-right:.25rem}.sound-btn{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:.35rem;padding:.65rem .6rem;min-height:78px;aspect-ratio:1 / 1;background:color-mix(in srgb,var(--sound-color, var(--primary)) 6%,var(--surface-hi, var(--bg-tertiary)));border:1px solid color-mix(in srgb,var(--sound-color, var(--primary)) 18%,var(--line-strong, var(--border)));border-radius:12px;color:var(--text, var(--text-primary));font-family:var(--font-display);font-size:.7rem;font-weight:600;letter-spacing:-.005em;line-height:1.15;cursor:pointer;transition:all .18s ease;position:relative;text-align:left;overflow:hidden}@media(max-width:640px){.sound-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));max-height:460px}.sound-btn{aspect-ratio:auto;min-height:72px}}.sound-btn:hover{background:color-mix(in srgb,var(--sound-color, var(--primary)) 14%,var(--surface-hi, var(--bg-tertiary)));border-color:color-mix(in srgb,var(--sound-color, var(--primary)) 40%,var(--line-strong, var(--border)));transform:translateY(-2px);box-shadow:0 8px 24px color-mix(in srgb,var(--sound-color, var(--primary)) 15%,transparent)}.sound-btn.playing{background:linear-gradient(135deg,color-mix(in srgb,var(--sound-color, var(--primary)) 35%,transparent),color-mix(in srgb,var(--sound-color, var(--primary)) 18%,transparent));border-color:var(--sound-color, var(--primary));color:var(--text, #fff);box-shadow:0 0 0 1px color-mix(in srgb,var(--sound-color, var(--primary)) 30%,transparent),0 10px 28px color-mix(in srgb,var(--sound-color, var(--primary)) 25%,transparent)}.sound-btn.playing:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--sound-color, var(--primary));animation:soundPulse 2s ease-in-out infinite}@keyframes soundPulse{0%,to{opacity:.6;transform:scaleX(1)}50%{opacity:1;transform:scaleX(.9)}}.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{width:100%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-overflow:ellipsis;word-break:break-word}.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:.65rem;color:var(--accent, var(--text-muted));text-transform:uppercase;letter-spacing:.24em;padding:.25rem 0;font-weight:700}.sound-section-label:not(:first-child){border-top:1px solid var(--line, var(--border));margin-top:.5rem;padding-top:.75rem}.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}@keyframes twinkle{0%,to{opacity:.15;transform:scale(1)}50%{opacity:.4;transform:scale(1.08)}}@keyframes sparkle{0%,to{opacity:.5}50%{opacity:.9}}@keyframes spike-pulse{0%,to{opacity:.5}50%{opacity:.8}}.star-halo{pointer-events:none}.star-twinkle{pointer-events:none;animation:twinkle 4s ease-in-out infinite;transform-origin:center;transform-box:fill-box}.star-spikes{pointer-events:none}.spike-line,.spike-line-minor{stroke-linecap:round}.node-circle{transition:r .3s ease}.star-center{pointer-events:none;animation:sparkle 3s ease-in-out infinite;transform-origin:center;transform-box:fill-box}.star-sparkle{pointer-events:none}.node:hover .star-halo{opacity:.18}.node:hover .star-twinkle{opacity:.5;animation-play-state:paused}.node:hover .spike-line{opacity:.9;stroke:#fff;stroke-width:1.5px}.node:hover .spike-line-minor{opacity:.5;stroke:#fff}.node:hover .node-circle{stroke:#fff9;stroke-width:1.5px}.node:hover .star-center{opacity:1;animation-play-state:paused}.node:hover .star-sparkle{r:2.5}.edge-group{transition:opacity .3s ease}.edge-glow-line{pointer-events:none}.edge-main-line{stroke-linecap:round}.edge-highlighted .edge-glow-line{opacity:.5}.edge-highlighted .edge-main-line{opacity:.95}.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:1fr;gap:.75rem}@media(min-width:480px){.traits-form-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}}@media(max-width:400px){.avatar-section{gap:.75rem;padding:.75rem}.avatar-preview{width:80px;height:80px}}.input-group select option{background:var(--bg-tertiary, #1a2340);color:var(--text-primary, #e8e6e3)}.ai-generate-btn{display:flex;align-items:center;gap:.5rem}.ai-generate-btn:disabled{opacity:.5;cursor:not-allowed}.luw-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.luw-modal{background:#1a1f3a;border:1px solid #2a3055;border-radius:12px;width:100%;max-width:680px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080}.luw-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #2a3055}.luw-title{font-size:1.2rem;font-weight:600;color:#c8a44e;margin:0}.luw-close{background:none;border:none;color:#89a;cursor:pointer;padding:4px;border-radius:6px}.luw-close:hover{color:#fff;background:#ffffff1a}.luw-progress{display:flex;gap:.25rem;padding:.75rem 1.25rem;border-bottom:1px solid #2a3055;overflow-x:auto}.luw-progress-step{display:flex;align-items:center;gap:.35rem;padding:.3rem .6rem;border-radius:20px;font-size:.75rem;color:#667;cursor:default;white-space:nowrap}.luw-progress-step.done{color:#6ea;cursor:pointer}.luw-progress-step.active{background:#c8a44e26;color:#c8a44e}.luw-progress-num{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#2a3055;font-size:.7rem;font-weight:600}.luw-progress-step.active .luw-progress-num{background:#c8a44e;color:#1a1f3a}.luw-progress-step.done .luw-progress-num{background:#3a6;color:#fff}.luw-progress-label{font-weight:500}.luw-body{flex:1;overflow-y:auto;padding:1.25rem}.luw-step-title{font-size:1.05rem;font-weight:600;color:#e4e8f0;margin:0 0 .35rem}.luw-step-desc{font-size:.82rem;color:#89a;margin:0 0 1rem}.luw-achievement-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#3aaa661a;border:1px solid rgba(58,170,102,.2);border-radius:8px;margin-bottom:.4rem;font-size:.85rem;color:#b0c8b8}.luw-check-icon{color:#6ea;flex-shrink:0}.luw-input-group{margin-top:1rem}.luw-label{display:block;font-size:.78rem;font-weight:500;color:#89a;margin-bottom:.3rem;margin-top:.6rem}.luw-input,.luw-select{width:100%;padding:.5rem .75rem;background:#141828;border:1px solid #2a3055;border-radius:8px;color:#e4e8f0;font-size:.85rem;font-family:inherit;box-sizing:border-box}.luw-input:focus,.luw-select:focus{outline:none;border-color:#c8a44e}.luw-select option{background:#141828;color:#e4e8f0}.luw-hint{font-size:.72rem;color:#667;margin-top:.25rem}.luw-options-list{display:flex;flex-direction:column;gap:.4rem}.luw-option{border:1px solid #2a3055;border-radius:8px;overflow:hidden;transition:border-color .15s;background:#141828}.luw-option.selected{border-color:#c8a44e;background:#c8a44e14}.luw-option.disabled{opacity:.45}.luw-option.crossed-out{opacity:.3;text-decoration:line-through}.luw-option-btn{width:100%;background:transparent;border:none;padding:.6rem .75rem;text-align:left;cursor:pointer;color:#e4e8f0;font-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none}.luw-option-btn:disabled{cursor:not-allowed}.luw-option-header{display:flex;justify-content:space-between;align-items:center}.luw-option-label{font-size:.85rem;font-weight:500;color:#e4e8f0}.luw-option-meta{font-size:.72rem;color:#89a}.luw-option-desc{font-size:.78rem;color:#89a;margin-top:.2rem}.luw-detail-panel{padding:.6rem .75rem;border-top:1px solid #2a3055;background:#00000026}.luw-trait-picks,.luw-experience-picks{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.3rem}.luw-trait-btn{padding:.3rem .6rem;border:1px solid #2a3055;border-radius:6px;background:#141828;color:#e4e8f0;font-size:.78rem;cursor:pointer;font-family:inherit}.luw-trait-btn.selected{border-color:#c8a44e;background:#c8a44e26;color:#c8a44e}.luw-trait-btn.marked{opacity:.4;cursor:not-allowed}.luw-trait-btn:disabled{opacity:.35;cursor:not-allowed}.luw-subclass-preview{padding:.5rem 0}.luw-subclass-level{font-size:.72rem;color:#c8a44e;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.2rem}.luw-subclass-name{font-size:.9rem;font-weight:600;color:#e4e8f0;margin-bottom:.25rem}.luw-subclass-desc{font-size:.8rem;color:#89a;line-height:1.4}.luw-card-grid{display:flex;flex-direction:column;gap:.4rem;max-height:400px;overflow-y:auto}.luw-card-option{text-align:left;background:#141828;border:1px solid #2a3055;border-radius:8px;padding:.6rem .75rem;cursor:pointer;color:#e4e8f0;font-family:inherit;transition:border-color .15s}.luw-card-option:hover{border-color:#445}.luw-card-option.selected{border-color:#c8a44e;background:#c8a44e14}.luw-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.luw-card-name{font-size:.85rem;font-weight:600}.luw-card-meta{font-size:.7rem;color:#89a}.luw-card-desc{font-size:.78rem;color:#89a;line-height:1.4}.luw-empty{text-align:center;color:#667;font-size:.85rem;padding:2rem}.luw-summary{display:flex;flex-direction:column;gap:.5rem}.luw-summary-item{display:flex;justify-content:space-between;padding:.5rem .75rem;background:#141828;border-radius:8px;border:1px solid #2a3055}.luw-summary-label{font-size:.8rem;color:#89a}.luw-summary-value{font-size:.85rem;color:#e4e8f0;font-weight:500}.luw-footer{display:flex;justify-content:space-between;padding:.75rem 1.25rem;border-top:1px solid #2a3055}.luw-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem 1rem;border:1px solid #2a3055;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;font-family:inherit;transition:all .15s}.luw-btn-secondary{background:transparent;color:#89a}.luw-btn-secondary:hover{background:#ffffff0d;color:#e4e8f0}.luw-btn-primary{background:#c8a44e;color:#1a1f3a;border-color:#c8a44e}.luw-btn-primary:hover{background:#d4b35e}.luw-btn-primary:disabled{opacity:.4;cursor:not-allowed}.luw-two-col{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}@media(max-width:600px){.luw-modal{max-height:95vh;border-radius:8px}.luw-progress{padding:.5rem .75rem}.luw-progress-label{display:none}.luw-body{padding:1rem}.luw-two-col{grid-template-columns:1fr}.luw-footer{padding:.6rem 1rem}.luw-btn{padding:.45rem .75rem;font-size:.8rem}}@media(max-width:400px){.luw-progress-num{width:18px;height:18px;font-size:.65rem}.luw-step-title{font-size:.95rem}.luw-option-btn{padding:.5rem .6rem}}.bf-panel{margin-top:.75rem}.bf-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.bf-section-label{font-size:.72rem;font-weight:600;color:#89a;text-transform:uppercase;letter-spacing:.08em}.bf-transform-btn,.bf-drop-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .6rem;border-radius:6px;font-size:.75rem;font-weight:500;cursor:pointer;border:1px solid;font-family:inherit}.bf-transform-btn{background:#c8a44e1f;border-color:#c8a44e4d;color:#c8a44e}.bf-transform-btn:hover{background:#c8a44e33}.bf-drop-btn{background:#c850501f;border-color:#c850504d;color:#c85050}.bf-drop-btn:hover{background:#c8505033}.bf-active{background:#64b4640f;border:1px solid rgba(100,180,100,.2);border-radius:10px;padding:.75rem}.bf-active-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.2rem}.bf-active-name{font-size:.95rem;font-weight:600;color:#a8d8a8}.bf-active-tier{font-size:.7rem;color:#89a;background:#2a3055;padding:.15rem .4rem;border-radius:4px}.bf-active-examples{font-size:.75rem;color:#89a;font-style:italic;margin-bottom:.5rem}.bf-stats-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.bf-stat{display:inline-flex;align-items:center;gap:.25rem;font-size:.78rem;color:#b0c8b8;background:#0003;padding:.2rem .5rem;border-radius:5px}.bf-stat-trait{font-weight:600;color:#c8a44e}.bf-advantages{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;margin-bottom:.4rem}.bf-advantages-label{font-size:.72rem;color:#89a;font-weight:500}.bf-advantage-badge{font-size:.7rem;background:#c8a44e1f;border:1px solid rgba(200,164,78,.2);color:#c8a44e;padding:.1rem .4rem;border-radius:4px}.bf-features{display:flex;flex-direction:column;gap:.25rem}.bf-feature{font-size:.78rem;color:#89a;line-height:1.4}.bf-feature-name{font-weight:600;color:#b0c8b8}.bf-inactive{font-size:.8rem;color:#556;font-style:italic}.bf-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.bf-picker{background:#1a1f3a;border:1px solid #2a3055;border-radius:12px;width:100%;max-width:600px;max-height:80vh;display:flex;flex-direction:column}.bf-picker-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #2a3055}.bf-picker-header h3{margin:0;font-size:1rem;color:#c8a44e}.bf-picker-close{background:none;border:none;color:#89a;cursor:pointer;padding:4px;border-radius:6px}.bf-picker-close:hover{color:#fff}.bf-picker-body{overflow-y:auto;padding:1rem}.bf-picker-tier{margin-bottom:1rem}.bf-picker-tier-label{font-size:.72rem;font-weight:600;color:#89a;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.4rem}.bf-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.4rem}.bf-picker-card{text-align:left;background:#141828;border:1px solid #2a3055;border-radius:8px;padding:.6rem;cursor:pointer;color:#e4e8f0;font-family:inherit;transition:border-color .15s}.bf-picker-card:hover{border-color:#c8a44e}.bf-picker-card-name{font-size:.85rem;font-weight:600;margin-bottom:.1rem}.bf-picker-card-examples{font-size:.72rem;color:#89a;font-style:italic;margin-bottom:.3rem}.bf-picker-card-stats{font-size:.72rem;color:#b0c8b8}.cs-panel{padding:.25rem 0}.cs-identity{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.cs-avatar{width:56px;height:56px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:2px solid #2a3055}.cs-name{font-size:1.1rem;font-weight:600;color:#e4e8f0}.cs-type{font-size:.78rem;color:#89a}.cs-stats-row{display:flex;gap:.5rem;margin-bottom:.75rem}.cs-stat-box{flex:1;text-align:center;background:#141828;border:1px solid #2a3055;border-radius:8px;padding:.5rem}.cs-stat-evasion{border-color:#c8a44e4d}.cs-stat-value{font-size:1.1rem;font-weight:700;color:#e4e8f0}.cs-stat-label{font-size:.65rem;color:#89a;text-transform:uppercase;letter-spacing:.06em}.cs-attack{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:#b0c0d0;padding:.4rem .6rem;background:#c8a44e0f;border-radius:6px;margin-bottom:.75rem}.cs-section{margin-bottom:.75rem}.cs-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.cs-section-label{font-size:.72rem;font-weight:600;color:#89a;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.35rem}.cs-section-count{font-size:.72rem;color:#89a}.cs-stress-slots{display:flex;flex-wrap:wrap;gap:6px}.cs-slot{width:28px;height:28px;border-radius:6px;border:2px solid #3a4570;background:transparent;cursor:pointer;transition:all .15s}.cs-slot:hover{border-color:#c85050}.cs-slot.filled{background:#c85050;border-color:#c85050}.cs-slot:disabled{cursor:default;opacity:.7}.cs-experiences{display:flex;flex-direction:column;gap:.3rem}.cs-experience{display:flex;justify-content:space-between;align-items:center;padding:.4rem .6rem;background:#141828;border:1px solid #2a3055;border-radius:6px}.cs-experience-name{font-size:.82rem;color:#e4e8f0}.cs-experience-mod{font-size:.85rem;font-weight:600;color:#c8a44e}.cs-upgrades{display:flex;flex-direction:column;gap:.3rem}.cs-upgrade{padding:.4rem .6rem;background:#141828;border:1px solid #2a3055;border-radius:6px}.cs-upgrade-name{font-size:.82rem;font-weight:600;color:#b0c8b8;margin-bottom:.15rem}.cs-upgrade-desc{font-size:.75rem;color:#89a;line-height:1.35}.cs-spellcast{font-size:.75rem;color:#667;text-align:center;padding:.5rem;border-top:1px solid #2a3055;margin-top:.5rem}.dh-sheet{position:relative;background:linear-gradient(180deg,#0a0e1f,#0d1126 40%,#111730);border:2px solid rgba(234,179,8,.3);border-radius:1.5rem;overflow:hidden;box-shadow:0 0 40px #eab3080d,0 20px 60px #0009,inset 0 1px #eab3081a}.dh-sheet:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 20% 0%,rgba(234,179,8,.04) 0%,transparent 60%),radial-gradient(ellipse at 80% 100%,rgba(139,92,246,.03) 0%,transparent 60%);pointer-events:none;z-index:0}.dh-sheet>*{position:relative;z-index:1}.dh-layout{display:flex;min-height:480px}.dh-sidebar{width:260px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;padding:1.5rem 1.25rem;gap:1rem;background:#0003;border-right:1px solid rgba(234,179,8,.12)}.dh-sidebar-avatar{width:120px;height:120px;border-radius:50%;border:3px solid rgba(234,179,8,.5);overflow:hidden;flex-shrink:0;background:#ffffff08;box-shadow:0 0 24px #eab30826}.dh-sidebar-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.dh-sidebar-avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-family:Cinzel,serif;font-weight:900;color:#eab30840}.dh-sidebar-identity{text-align:center;width:100%}.dh-sidebar-name{font-family:Cinzel,Times New Roman,serif;font-size:1.3rem;font-weight:900;color:#eab308;text-transform:uppercase;letter-spacing:.08em;line-height:1.2;text-shadow:0 0 16px rgba(234,179,8,.2)}.dh-sidebar-subtitle{font-size:.65rem;font-weight:700;color:#ffffff73;text-transform:uppercase;letter-spacing:.12em;margin-top:.3rem;line-height:1.4}.dh-sidebar-community{font-size:.6rem;font-weight:600;color:#ffffff4d;text-transform:uppercase;letter-spacing:.1em;margin-top:.15rem}.dh-sidebar-player{font-size:.6rem;color:#fff3;font-weight:500;letter-spacing:.15em;text-transform:uppercase;margin-top:.35rem}.dh-sidebar-vitals{width:100%;display:flex;flex-direction:column;gap:.75rem;margin-top:.25rem}.dh-sidebar-vital-group{width:100%}.dh-sidebar-vital-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.35rem}.dh-sidebar-vital-label{font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.2em;color:#eab30880}.dh-sidebar-vital-count{font-size:.65rem;font-weight:800;color:#ffffff59;font-variant-numeric:tabular-nums}.dh-sidebar-slots{display:flex;gap:.3rem;flex-wrap:wrap}.dh-sidebar-actions{margin-top:auto;width:100%;display:flex;flex-direction:column;gap:.5rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.05)}.dh-sidebar-link{width:100%;justify-content:center}.dh-sidebar-buttons{display:flex;gap:.5rem;justify-content:center}.dh-main{flex:1;min-width:0;display:flex;flex-direction:column}.dh-tab-bar{display:flex;border-bottom:1px solid rgba(234,179,8,.15);background:#00000026}.dh-tab{flex:1;padding:.85rem 1rem;background:none;border:none;cursor:pointer;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.15em;color:#ffffff59;border-bottom:3px solid transparent;transition:all .2s ease;text-align:center}.dh-tab:hover{color:#fff9;background:#eab30808}.dh-tab.active{color:#eab308;border-bottom-color:#eab308;background:#eab3080d}.dh-tab-panel{flex:1;overflow-y:auto}.dh-tab-content{padding:1.25rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.dh-section-label{font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.25em;color:#eab30880;margin-bottom:0;margin-top:.25rem}.dh-quickroll-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem .75rem;padding:.5rem .65rem;border-radius:.5rem;border:1px solid rgba(234,179,8,.12);background:#eab30808}.dh-quickroll-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.45rem .75rem;border-radius:.45rem;border:1px solid rgba(234,179,8,.35);background:#eab30814;color:#eab308f2;font-size:.7rem;font-weight:700;letter-spacing:.05em;cursor:pointer;transition:all .15s ease;min-height:36px}.dh-quickroll-btn:hover{background:#eab30829;border-color:#eab3088c}.dh-quickroll-toggle{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap}.dh-quickroll-toggle-label{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#fff6}.dh-quickroll-chip{padding:.3rem .55rem;border-radius:.35rem;border:1px solid rgba(255,255,255,.1);background:#ffffff08;color:#ffffff8c;font-size:.65rem;font-weight:700;cursor:pointer;transition:all .15s ease;min-height:32px}.dh-quickroll-chip:hover{color:#ffffffd9;border-color:#fff3}.dh-quickroll-chip.adv.active{background:#22c55e29;border-color:#22c55e80;color:#4ade80;box-shadow:0 0 0 1px #22c55e40 inset}.dh-quickroll-chip.hind.active{background:#ef444424;border-color:#ef444473;color:#f87171;box-shadow:0 0 0 1px #ef444438 inset}@media(max-width:480px){.dh-quickroll-bar{justify-content:center}}.dh-attributes-row{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.dh-attribute-circle{display:flex;flex-direction:column;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;border:2.5px solid rgba(255,255,255,.12);background:#ffffff05;transition:border-color .2s ease}.dh-attribute-circle.positive{border-color:#eab30880;background:#eab3080a}.dh-attribute-circle.negative{border-color:#ef444480;background:#ef44440a}.dh-attribute-circle.zero{border-color:#ffffff1f;background:#ffffff05}.dh-attribute-abbrev{font-size:.55rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#fff6;line-height:1}.dh-attribute-value{font-size:1.3rem;font-weight:900;line-height:1.1;margin-top:.1rem}.dh-attribute-circle.positive .dh-attribute-value{color:#eab308}.dh-attribute-circle.negative .dh-attribute-value{color:#ef4444}.dh-attribute-circle.zero .dh-attribute-value{color:#ffffff4d}.dh-thresholds-row{display:flex;gap:.75rem}.dh-threshold-box{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.6rem .5rem;background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:.5rem}.dh-threshold-evasion{border-color:#eab3084d;background:#eab3080a}.dh-threshold-value{font-family:Cinzel,serif;font-size:1.5rem;font-weight:900;color:#ffffffb3;line-height:1}.dh-threshold-evasion .dh-threshold-value{color:#eab308;text-shadow:0 0 10px rgba(234,179,8,.2)}.dh-threshold-label{font-size:.55rem;font-weight:800;text-transform:uppercase;letter-spacing:.15em;color:#ffffff4d;margin-top:.15rem}.dh-threshold-evasion .dh-threshold-label{color:#eab30880}.dh-threshold-armor{border-color:#3b82f64d;background:#3b82f60a}.dh-threshold-armor .dh-threshold-value{color:#3b82f6;text-shadow:0 0 10px rgba(59,130,246,.2)}.dh-threshold-armor .dh-threshold-label{color:#3b82f680}.dh-damage-thresholds{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:.35rem;padding:.55rem .4rem;background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:.6rem}.dh-damage-tier{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.4rem .3rem;text-align:center}.dh-damage-tier-label{font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:#ffffffb8;line-height:1.15}.dh-damage-tier-hp{font-size:.55rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:#ffffff59;margin-top:.25rem}.dh-damage-minor .dh-damage-tier-label{color:#94a3b8d9}.dh-damage-major .dh-damage-tier-label{color:#eab308e6}.dh-damage-severe .dh-damage-tier-label{color:#ef4444e6}.dh-damage-gate{min-width:2.4rem;height:2.4rem;display:flex;align-items:center;justify-content:center;padding:0 .45rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.18);border-radius:.4rem;box-shadow:inset 0 0 0 1px #ffffff0a}.dh-damage-gate-value{font-family:Cinzel,serif;font-size:1.25rem;font-weight:900;color:#ffffffeb;line-height:1}.dh-experiences-list{display:flex;flex-wrap:wrap;gap:.4rem}.dh-experience-card{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .75rem;background:linear-gradient(135deg,#eab30814,#eab30808);border:1px solid rgba(234,179,8,.2);border-radius:999px}.dh-experience-name{font-size:.72rem;font-weight:700;color:#ffffffa6}.dh-experience-mod{font-size:.65rem;font-weight:900;color:#eab308;background:#eab3081f;padding:.1rem .4rem;border-radius:999px;line-height:1}.dh-weapons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:.5rem}.dh-weapon-card{padding:.6rem .8rem;background:#eab30808;border:1px solid rgba(234,179,8,.15);border-radius:.5rem;transition:border-color .2s ease}.dh-weapon-card:hover{border-color:#eab3084d}.dh-weapon-card-header{display:flex;align-items:center;gap:.4rem}.dh-weapon-icon{color:#eab30880;flex-shrink:0}.dh-weapon-name{font-size:.8rem;font-weight:700;color:#ffffffbf;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dh-weapon-stats{display:flex;gap:.4rem;font-size:.62rem;color:#ffffff59;font-weight:500;margin-top:.25rem;padding-left:1.5rem}.dh-weapon-stats span:after{content:"·";margin-left:.4rem;color:#ffffff26}.dh-weapon-stats span:last-child:after{content:""}.dh-weapon-features{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.25rem;padding-left:1.5rem}.dh-weapon-feature-badge{display:inline-flex;align-items:center;padding:.1rem .4rem;background:#8b5cf61a;border:1px solid rgba(139,92,246,.2);border-radius:999px;font-size:.55rem;font-weight:700;color:#a78bfa;text-transform:capitalize;letter-spacing:.03em}.dh-weapon-description{font-size:.65rem;color:#ffffff59;line-height:1.4;margin-top:.25rem;padding-left:1.5rem;font-style:italic}.dh-item-custom-features{display:flex;flex-direction:column;gap:.2rem;margin-top:.3rem;padding-left:1.5rem}.dh-item-custom-feature{font-size:.65rem;color:#a78bfad9;line-height:1.4}.dh-item-custom-feature-name{font-weight:700;color:#a78bfa}.dh-slot{width:28px;height:28px;border-radius:.3rem;border:2px solid rgba(255,255,255,.12);background:#ffffff05;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;font-size:0;padding:0}.dh-slot:hover{border-color:#ffffff4d;background:#ffffff0d}.dh-slot-hp.filled{background:linear-gradient(135deg,#eab308,#d69e2e);border-color:#eab308;box-shadow:0 0 6px #eab3084d}.dh-slot-stress.filled{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-color:#8b5cf6;box-shadow:0 0 6px #8b5cf64d}.dh-slot-armor{border-color:#3b82f659;background:#3b82f60f}.dh-slot-armor:hover{border-color:#3b82f699;background:#3b82f61f}.dh-slot-armor.filled{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:#3b82f6;box-shadow:0 0 6px #3b82f64d}.dh-slot-hope.filled{background:linear-gradient(135deg,#f59e0b,#d97706);border-color:#f59e0b;box-shadow:0 0 6px #f59e0b66}.dh-badges-row{display:flex;flex-wrap:wrap;gap:.4rem}.dh-domain-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .75rem;background:linear-gradient(135deg,#8b5cf61f,#8b5cf60a);border:1px solid rgba(139,92,246,.3);border-radius:999px;font-size:.7rem;font-weight:700;color:#a78bfa;letter-spacing:.03em}.dh-domain-notes{font-size:.75rem;color:#fff6;font-style:italic;margin-top:.35rem;line-height:1.4}.dh-ability-section,.dh-features-list{display:flex;flex-direction:column;gap:.5rem}.dh-feature-card{background:#ffffff05;border:1px solid rgba(234,179,8,.1);border-radius:.5rem;padding:.6rem .8rem}.dh-feature-tag{font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:#eab30866;margin-bottom:.2rem}.dh-feature-name{font-size:.8rem;font-weight:700;color:#fffc;margin-bottom:.2rem}.dh-feature-desc{font-size:.75rem;color:#ffffff73;line-height:1.5}.dh-feature-tracker{margin-top:.6rem;padding-top:.6rem;border-top:1px dashed rgba(234,179,8,.2);display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.dh-feature-tracker-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#eab308bf}.dh-feature-tracker-controls{display:flex;align-items:center;gap:.4rem}.dh-tracker-btn{min-width:1.8rem;height:1.8rem;padding:0 .5rem;border-radius:.35rem;border:1px solid rgba(234,179,8,.3);background:#ffffff0a;color:#ffffffd9;font-size:.85rem;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.dh-tracker-btn:hover:not(:disabled){background:#eab30826;border-color:#eab30899}.dh-tracker-btn:disabled{opacity:.35;cursor:not-allowed}.dh-tracker-btn.dh-tracker-clear{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;margin-left:.25rem}.dh-tracker-count{min-width:3rem;text-align:center;font-variant-numeric:tabular-nums}.dh-tracker-current{font-size:1.05rem;font-weight:700;color:#eab308f2}.dh-tracker-max{font-size:.75rem;color:#fff6;margin-left:.2rem}.dh-domain-cards-content{display:flex;flex-direction:column;gap:.75rem}.dh-domain-cards-group{display:flex;flex-direction:column;gap:.4rem}.dh-domain-cards-group-label{font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.2em;color:#8b5cf699;padding-bottom:.2rem;border-bottom:1px solid rgba(139,92,246,.1)}.dh-domain-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:.5rem}.dh-domain-card{background:#8b5cf60a;border:1px solid rgba(139,92,246,.12);border-radius:.5rem;padding:.6rem .8rem;transition:border-color .2s ease}.dh-domain-card:hover{border-color:#8b5cf640}.dh-domain-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.3rem}.dh-domain-card-name{font-size:.78rem;font-weight:700;color:#fffc}.dh-domain-card-level{font-size:.6rem;font-weight:800;color:#8b5cf6b3;background:#8b5cf61a;padding:.15rem .4rem;border-radius:.25rem;letter-spacing:.05em}.dh-domain-card-desc{font-size:.72rem;color:#fff6;line-height:1.5}.dh-domain-card-badges{display:flex;align-items:center;gap:.3rem;flex-shrink:0}.dh-domain-card-type{font-size:.55rem;font-weight:800;letter-spacing:.06em;padding:.15rem .4rem;border-radius:.25rem;text-transform:uppercase}.dh-card-type-spell{background:#6366f126;color:#818cf8;border:1px solid rgba(99,102,241,.3)}.dh-card-type-ability{background:#eab3081a;color:#eab308b3;border:1px solid rgba(234,179,8,.2)}.dh-card-type-grimoire{background:#a855f71f;color:#c084fc;border:1px solid rgba(168,85,247,.25)}.dh-ability-roll-cast{background:#6366f11a!important;border-color:#6366f159!important;color:#818cf8!important}.dh-ability-roll-cast:hover{background:#6366f133!important;border-color:#6366f18c!important}.dh-ability-roll-dice{background:#8b5cf61a!important;border-color:#8b5cf659!important;color:#a78bfa!important}.dh-ability-roll-dice:hover{background:#8b5cf633!important;border-color:#8b5cf68c!important}.dh-equip-section{display:flex;flex-direction:column;gap:.4rem}.dh-equipped-item{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem .7rem;background:#eab30808;border:1px solid rgba(234,179,8,.1);border-radius:.375rem}.dh-equipped-item-icon{color:#eab30880;flex-shrink:0;margin-top:.15rem}.dh-equipped-item-header{display:flex;align-items:center;gap:.4rem}.dh-equipped-item-name{font-size:.78rem;font-weight:600;color:#ffffffb3}.dh-equipped-item-stats{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.65rem;color:#ffffff59;font-weight:500}.dh-equipped-item-stats span:after{content:"·";margin-left:.5rem;color:#ffffff26}.dh-equipped-item-stats span:last-child:after{content:""}.dh-item-tier{display:inline-flex;align-items:center;justify-content:center;padding:.1rem .35rem;background:linear-gradient(135deg,#eab30826,#eab3080d);border:1px solid rgba(234,179,8,.3);border-radius:.25rem;font-size:.55rem;font-weight:800;color:#eab308;letter-spacing:.05em;flex-shrink:0}.dh-text-value{font-size:.8rem;color:#fff9}.dh-inventory-text{font-size:.78rem;color:#ffffff80;white-space:pre-wrap;line-height:1.5}.dh-gold-row{margin-top:.25rem}.dh-counter{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .75rem;border-radius:.5rem;font-size:.85rem;font-weight:800}.dh-counter-gold{background:#eab30814;border:1px solid rgba(234,179,8,.2);color:#eab308}.dh-counter-icon{opacity:.6}.dh-narrative-block{display:flex;flex-direction:column;gap:.5rem}.dh-narrative-text{font-size:.8rem;color:#ffffff80;line-height:1.65;white-space:pre-wrap}.dh-empty{font-size:.75rem;color:#ffffff26;font-style:italic}.dh-empty-tab{padding:2rem;text-align:center;font-size:.8rem;color:#fff3;font-style:italic}.dh-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:.75rem;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:#ffffff80;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;cursor:pointer;transition:all .2s ease}.dh-btn:hover{background:#ffffff14;color:#fffc;border-color:#ffffff26}.dh-btn-danger:hover{background:#ef444426;border-color:#ef44444d;color:#ef4444}.dh-link{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:.75rem;border:1px solid rgba(16,185,129,.15);background:#10b9810d;color:#10b981b3;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;text-decoration:none;cursor:pointer;transition:all .2s ease}.dh-link:hover{background:#10b9811a;color:#10b981;border-color:#10b9814d}.dh-form-feature-card{margin-top:.5rem;padding:.5rem .75rem;background:#8b5cf60d;border:1px solid rgba(139,92,246,.15);border-radius:.5rem}.dh-form-feature-tag{font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#8b5cf680;margin-bottom:.15rem}.dh-form-feature-name{font-size:.78rem;font-weight:700;color:#ffffffbf;margin-bottom:.15rem}.dh-form-feature-desc{font-size:.72rem;color:#fff6;line-height:1.45}.dh-form-heritage{display:flex;flex-direction:column;gap:.4rem;margin-top:.25rem}.dh-form-section-toggle{display:flex;align-items:center;gap:.4rem;width:100%;padding:.5rem .75rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:.5rem;color:#ffffff80;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:all .2s ease}.dh-form-section-toggle:hover{background:#ffffff0f;color:#ffffffb3;border-color:#ffffff26}.dh-form-domain-cards{margin-top:.5rem}.dh-form-cards-picker{margin-top:.5rem;max-height:400px;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;padding:.5rem;background:#0003;border:1px solid rgba(255,255,255,.06);border-radius:.5rem}.dh-form-cards-domain{display:flex;flex-direction:column;gap:.35rem}.dh-form-cards-domain-label{font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.2em;color:#8b5cf699;padding-bottom:.2rem;border-bottom:1px solid rgba(139,92,246,.1);position:sticky;top:0;background:#0a0e1ff2;z-index:1;padding-top:.25rem}.dh-form-card-option{padding:.5rem .6rem;border-radius:.375rem;border:1px solid rgba(255,255,255,.06);background:#ffffff03;cursor:pointer;transition:all .15s ease}.dh-form-card-option:hover{background:#ffffff0a;border-color:#8b5cf633}.dh-form-card-option.selected{background:#8b5cf614;border-color:#8b5cf64d}.dh-form-card-header{display:flex;align-items:center;gap:.4rem;margin-bottom:.2rem}.dh-form-card-check{width:16px;height:16px;border-radius:3px;border:2px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease}.dh-form-card-check.checked{background:#8b5cf6;border-color:#8b5cf6;color:#fff}.dh-form-card-name{font-size:.75rem;font-weight:700;color:#ffffffb3;flex:1}.dh-form-card-level{font-size:.55rem;font-weight:800;color:#8b5cf699;background:#8b5cf61a;padding:.1rem .35rem;border-radius:.2rem}.dh-form-card-desc{font-size:.68rem;color:#ffffff59;line-height:1.45;padding-left:1.5rem}.dh-form-cards-empty{text-align:center;padding:1rem;font-size:.75rem;color:#ffffff40;font-style:italic}.dh-form-equip-section{margin-bottom:.75rem}.dh-form-equip-picker{margin-top:.5rem;padding:.5rem;background:#0003;border:1px solid rgba(255,255,255,.06);border-radius:.5rem}.dh-form-equip-search{width:100%;padding:.4rem .6rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:.375rem;color:#fff;font-size:.75rem;margin-bottom:.4rem}.dh-form-equip-search:focus{outline:none;border-color:#eab3084d}.dh-form-equip-search::-moz-placeholder{color:#fff3}.dh-form-equip-search::placeholder{color:#fff3}.dh-form-equip-list{max-height:250px;overflow-y:auto;display:flex;flex-direction:column;gap:.25rem}.dh-form-equip-item{display:flex;align-items:center;justify-content:space-between;padding:.4rem .6rem;border-radius:.375rem;border:1px solid rgba(255,255,255,.04);background:#ffffff03;transition:all .15s ease}.dh-form-equip-item:hover{background:#ffffff08}.dh-form-equip-item.equipped{border-color:#eab30833;background:#eab3080a}.dh-form-equip-item-info{display:flex;align-items:center;gap:.4rem;min-width:0;flex:1}.dh-form-equip-item-icon{color:#eab30866;flex-shrink:0}.dh-form-equip-item-name{font-size:.75rem;font-weight:600;color:#ffffffa6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dh-form-equip-item-tier{font-size:.55rem;font-weight:800;color:#eab308;background:#eab3081a;padding:.1rem .3rem;border-radius:.2rem;letter-spacing:.05em;flex-shrink:0}.dh-form-equip-item-type{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#ffffff40;flex-shrink:0}.dh-form-equip-badge{display:inline-flex;align-items:center;gap:.2rem;font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#22c55e;background:#22c55e1f;border:1px solid rgba(34,197,94,.35);padding:.15rem .4rem;border-radius:.3rem;flex-shrink:0}.dh-form-equip-item.equipped{border-color:#22c55e4d;background:#22c55e0f}.dh-form-equip-add-btn{padding:.2rem .5rem;font-size:.65rem}.dh-form-equip-remove-btn{padding:.2rem .5rem;font-size:.65rem;color:#ef4444}.dh-form-equipped-section{margin-top:.5rem;padding:.75rem;border:1px solid rgba(234,179,8,.15);border-radius:.5rem;background:#eab30808}.dh-form-equipped-header{font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.15em;color:#eab308cc;margin-bottom:.6rem}.dh-form-equipped-empty{font-size:.7rem;color:#fff6;font-style:italic;padding:.4rem 0}.dh-form-equipped-list{display:flex;flex-direction:column;gap:.6rem}.dh-form-equipped-group{display:flex;flex-direction:column;gap:.25rem}.dh-form-equipped-group-label{display:inline-flex;align-items:center;gap:.3rem;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#ffffff73;margin-bottom:.1rem}.dh-form-equipped-group-label svg{color:#eab3088c}.dh-form-equipped-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.45rem .6rem;border-radius:.375rem;border:1px solid rgba(234,179,8,.15);background:#ffffff05}.dh-form-equipped-item-main{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1}.dh-form-equipped-item-name{font-size:.8rem;font-weight:600;color:#fffc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dh-form-equipped-item-stats{font-size:.65rem;color:#fff6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dh-form-equipped-remove{display:inline-flex;align-items:center;gap:.2rem;padding:.25rem .55rem;font-size:.65rem;font-weight:600;color:#ef4444d9;background:#ef444414;border:1px solid rgba(239,68,68,.25);border-radius:.3rem;cursor:pointer;transition:all .15s ease;flex-shrink:0}.dh-form-equipped-remove:hover{background:#ef444426;border-color:#ef444480}.dh-form-equip-empty-catalog{font-size:.75rem;color:#fff6;font-style:italic;padding:.6rem .75rem;border:1px dashed rgba(255,255,255,.12);border-radius:.4rem;background:#ffffff05}.dh-weapon-card.dh-weapon-card-empty{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-style:italic;color:#fff6}@media(max-width:768px){.dh-layout{flex-direction:column;min-height:auto}.dh-sidebar{width:100%;flex-direction:row;flex-wrap:wrap;padding:1rem;gap:.75rem;border-right:none;border-bottom:1px solid rgba(234,179,8,.12)}.dh-sidebar-avatar{width:80px;height:80px}.dh-sidebar-identity{text-align:left;flex:1;min-width:0}.dh-sidebar-name{font-size:1.1rem}.dh-sidebar-vitals{flex-direction:row;flex-wrap:wrap;gap:.5rem}.dh-sidebar-vital-group{width:auto;min-width:100px;flex:1}.dh-sidebar-actions{flex-direction:row;align-items:center;gap:.5rem;margin-top:0;padding-top:0;border-top:none}.dh-sidebar-link{width:auto}.dh-tab{padding:.65rem .5rem;font-size:.6rem;letter-spacing:.1em}.dh-tab-content{padding:1rem}.dh-attributes-row{gap:.5rem}.dh-attribute-circle{width:64px;height:64px}.dh-attribute-value{font-size:1.1rem}.dh-thresholds-row{gap:.5rem}.dh-threshold-value{font-size:1.2rem}.dh-damage-thresholds{gap:.2rem;padding:.4rem .25rem}.dh-damage-tier-label{font-size:.5rem;letter-spacing:.1em}.dh-damage-tier-hp{font-size:.48rem}.dh-damage-gate{min-width:2rem;height:2rem;padding:0 .3rem}.dh-damage-gate-value{font-size:1.05rem}.dh-weapons-grid,.dh-domain-cards-grid{grid-template-columns:1fr}.dh-slot{width:26px;height:26px}.dh-roll-result-overlay{top:.75rem;max-width:calc(100vw - 1.5rem)}.dh-exp-roll-btn,.dh-weapon-roll-btn{min-height:44px;padding:.55rem .85rem}.dh-tab-bar{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.dh-tab-bar::-webkit-scrollbar{display:none}.dh-tab{flex-shrink:0;white-space:nowrap}}@media(max-width:480px){.dh-sidebar-avatar{width:70px;height:70px}.dh-sidebar{padding:.75rem;gap:.5rem}.dh-tab{padding:.55rem .35rem;font-size:.55rem;letter-spacing:.06em}.dh-tab-content{padding:.75rem}.dh-attribute-circle{width:56px;height:56px}.dh-attribute-value{font-size:1rem}}.dh-btn-levelup{width:100%;justify-content:center;background:#c8a44e1f;border-color:#c8a44e4d;color:#c8a44e;font-weight:600;margin-bottom:.4rem}.dh-btn-levelup:hover{background:#c8a44e33}.dh-sidebar-generate-portrait{display:flex;align-items:center;justify-content:center;gap:.25rem;width:100%;margin-top:.35rem;padding:.2rem .5rem;border:1px solid rgba(200,164,78,.2);border-radius:6px;background:#c8a44e14;color:#c8a44e;font-size:.68rem;font-family:inherit;cursor:pointer}.dh-sidebar-generate-portrait:hover{background:#c8a44e26}.dh-sidebar-generate-portrait:disabled{opacity:.5;cursor:not-allowed}.dh-sidebar-proficiency{font-size:.72rem;color:#c8a44e;font-weight:500}.dh-sidebar-multiclass{font-size:.72rem;color:#89a;font-style:italic}.dh-threshold-prof{border-color:#c8a44e4d}.dh-domain-multiclass{border-style:dashed;opacity:.8}.dh-feature-hope{border-left:3px solid #c8a44e}.dh-feature-tag{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:#89a;margin-bottom:.15rem}.dh-attribute-rollable{cursor:pointer;background:none;font-family:inherit;transition:border-color .2s,box-shadow .2s,transform .15s}.dh-attribute-rollable .dh-attribute-roll-icon{position:absolute;bottom:4px;color:#eab30800;transition:color .2s,opacity .2s;font-size:0}.dh-attribute-circle{position:relative}.dh-attribute-rollable:hover{border-color:#eab308cc!important;box-shadow:0 0 12px #eab3084d;transform:scale(1.07)}.dh-attribute-rollable:hover .dh-attribute-roll-icon{color:#eab308cc}.dh-attribute-rollable:active{transform:scale(.96)}.dh-experience-rollable{cursor:default}.dh-exp-roll-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px solid rgba(234,179,8,.25);border-radius:50%;background:#eab3080f;color:#eab30880;cursor:pointer;transition:all .15s;padding:0;flex-shrink:0}.dh-exp-roll-btn:hover{background:#eab30826;border-color:#eab30899;color:#eab308}.dh-exp-trait-picker{position:absolute;top:calc(100% + 6px);left:0;z-index:50;background:#0d1126;border:1px solid rgba(234,179,8,.3);border-radius:.75rem;padding:.6rem;box-shadow:0 8px 24px #0009;min-width:240px;animation:dh-fade-in .15s ease}.dh-exp-trait-picker-label{font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;color:#ffffff40;margin-bottom:.5rem;font-weight:700}.dh-exp-trait-picker-row{display:flex;gap:.3rem;flex-wrap:wrap}.dh-exp-trait-btn{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.35rem .5rem;border:1px solid rgba(234,179,8,.2);border-radius:.4rem;background:#eab3080a;color:#fff9;cursor:pointer;font-size:.6rem;font-weight:800;font-family:inherit;text-transform:uppercase;letter-spacing:.05em;transition:all .15s;min-width:34px}.dh-exp-trait-btn span:last-child{font-size:.7rem;font-weight:900;color:#eab308}.dh-exp-trait-btn:hover{background:#eab30826;border-color:#eab30880;color:#fff;transform:scale(1.05)}.dh-weapon-roll-row{display:flex;gap:.4rem;margin-top:.5rem;padding-left:1.5rem}.dh-weapon-roll-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .6rem;border-radius:.35rem;font-size:.65rem;font-weight:700;font-family:inherit;cursor:pointer;transition:all .15s;border:1px solid}.dh-weapon-roll-atk{background:#eab30814;border-color:#eab3084d;color:#eab308}.dh-weapon-roll-atk:hover{background:#eab3082e;border-color:#eab30899;box-shadow:0 0 8px #eab30833}.dh-weapon-roll-dmg{background:#ef444412;border-color:#ef444440;color:#f87171}.dh-weapon-roll-dmg:hover{background:#ef444426;border-color:#ef444480;box-shadow:0 0 8px #ef444433}@keyframes dh-roll-flash{0%{box-shadow:0 0 #eab30899;transform:scale(1)}40%{box-shadow:0 0 18px 6px #eab30866;transform:scale(1.08)}to{box-shadow:0 0 #eab30800;transform:scale(1)}}.dh-roll-flash{animation:dh-roll-flash .5s ease-out}@keyframes dh-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes dh-result-in{0%{opacity:0;transform:translate(-50%) translateY(20px) scale(.92)}60%{opacity:1;transform:translate(-50%) translateY(-4px) scale(1.02)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes dh-result-out{0%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%) translateY(10px) scale(.95)}}.dh-roll-result-overlay{position:fixed;top:5rem;bottom:auto;left:50%;transform:translate(-50%);z-index:1100;min-width:220px;max-width:320px;padding:1rem 1.25rem .85rem;border-radius:1rem;text-align:center;box-shadow:0 8px 40px #000000b3,inset 0 1px #ffffff14;animation:dh-result-in .35s cubic-bezier(.34,1.56,.64,1) forwards;background:linear-gradient(135deg,#081432f7,#0a1028f7);border:1.5px solid rgba(234,179,8,.4)}.dh-roll-result-overlay.hope{border-color:#eab30880;box-shadow:0 8px 40px #000000b3,0 0 30px #eab3081f,inset 0 1px #eab30826}.dh-roll-result-overlay.fear{border-color:#8b5cf680;box-shadow:0 8px 40px #000000b3,0 0 30px #8b5cf61f,inset 0 1px #8b5cf61f}.dh-roll-result-overlay.dh-roll-result-damage{border-color:#ef444466;box-shadow:0 8px 40px #000000b3,0 0 24px #ef44441a,inset 0 1px #ef44441a}.dh-roll-result-dismiss{position:absolute;top:.5rem;right:.6rem;background:none;border:none;color:#ffffff40;font-size:1rem;line-height:1;cursor:pointer;padding:.1rem .3rem;transition:color .15s}.dh-roll-result-dismiss:hover{color:#ffffffb3}.dh-roll-result-label{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.15em;color:#ffffff59;margin-bottom:.6rem}.dh-roll-result-dice-row{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.5rem}.dh-roll-generic-dice{flex-wrap:wrap}.dh-roll-die{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.35rem .5rem;border-radius:.5rem;border:1px solid rgba(255,255,255,.08);background:#ffffff08;min-width:42px;transition:all .2s}.dh-roll-die-label{font-size:.55rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#ffffff4d}.dh-roll-die-val{font-size:1.4rem;font-weight:900;line-height:1;color:#ffffff80}.dh-roll-die-hope.dh-die-winner{border-color:#eab30880;background:#eab30814;box-shadow:0 0 12px #eab30840}.dh-roll-die-hope.dh-die-winner .dh-roll-die-val{color:#eab308}.dh-roll-die-hope.dh-die-winner .dh-roll-die-label{color:#eab308b3}.dh-roll-die-fear.dh-die-winner{border-color:#8b5cf680;background:#8b5cf614;box-shadow:0 0 12px #8b5cf640}.dh-roll-die-fear.dh-die-winner .dh-roll-die-val{color:#a78bfa}.dh-roll-die-fear.dh-die-winner .dh-roll-die-label{color:#a78bfab3}.dh-roll-die-dmg{border-color:#ef444440;background:#ef44440d}.dh-roll-die-dmg .dh-roll-die-val{color:#f87171}.dh-roll-die-vs{font-size:.65rem;font-weight:700;color:#fff3}.dh-roll-modifier{font-size:1rem;font-weight:800;color:#fff6;align-self:center}.dh-roll-result-total{font-size:2.8rem;font-weight:900;line-height:1;margin:.1rem 0 .4rem;color:#fff;text-shadow:0 0 20px rgba(255,255,255,.2)}.dh-roll-result-outcome{font-size:.72rem;font-weight:800;letter-spacing:.05em;padding:.25rem .75rem;border-radius:999px;display:inline-block}.dh-roll-result-outcome.hope{background:#eab30826;color:#eab308;border:1px solid rgba(234,179,8,.3)}.dh-roll-result-outcome.fear{background:#8b5cf626;color:#a78bfa;border:1px solid rgba(139,92,246,.3)}.dh-roll-doubles{font-size:.65rem;opacity:.8}.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}}.gm-cheatsheet{padding:1.5rem;max-width:1400px;margin:0 auto}.gm-cheatsheet-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.gm-cheatsheet-header h1{font-size:1.6rem;font-weight:800;margin:0;display:flex;align-items:center;gap:.5rem}.gm-search{display:flex;align-items:center;gap:.5rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:10px;padding:.5rem .75rem;width:280px;max-width:100%;transition:border-color .2s ease}.gm-search:focus-within{border-color:var(--fear-color, #a855f7);box-shadow:0 0 0 2px #a855f726}.gm-search input{background:transparent;border:none;outline:none;color:var(--text-primary);font-size:.85rem;width:100%}.gm-search input::-moz-placeholder{color:var(--text-muted)}.gm-search input::placeholder{color:var(--text-muted)}.gm-sections{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:1rem}.gm-section{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.gm-section:hover{border-color:var(--border-accent)}.gm-section.expanded{border-color:#a855f74d;box-shadow:0 0 16px #a855f70f}.gm-section-header{display:flex;align-items:center;gap:.6rem;padding:.75rem 1rem;cursor:pointer;background:transparent;border:none;width:100%;color:var(--text-primary);font-size:.95rem;font-weight:700;text-align:left;transition:background .15s ease}.gm-section-header:hover{background:var(--bg-tertiary)}.gm-section-header .section-icon{color:var(--fear-color, #a855f7);flex-shrink:0}.gm-section-header .section-title{flex:1}.gm-section-header .chevron{color:var(--text-muted);transition:transform .2s ease;flex-shrink:0}.gm-section.expanded .gm-section-header .chevron{transform:rotate(180deg)}.gm-section-body{padding:0 1rem 1rem;font-size:.8rem;line-height:1.6;color:var(--text-secondary)}.gm-table{width:100%;border-collapse:collapse;margin:.5rem 0;font-size:.78rem}.gm-table th{text-align:left;padding:.4rem .6rem;border-bottom:2px solid var(--border-accent);color:var(--text-primary);font-weight:700;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.gm-table td{padding:.35rem .6rem;border-bottom:1px solid var(--border)}.gm-table tr:last-child td{border-bottom:none}.gm-table tr:hover td{background:var(--bg-tertiary)}.gm-ref-card{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;padding:.6rem .75rem;margin-bottom:.5rem;transition:border-color .15s ease}.gm-ref-card:hover{border-color:var(--border-accent)}.gm-ref-card-name{font-weight:700;color:var(--text-primary);font-size:.85rem;margin-bottom:.15rem}.gm-ref-card-meta{font-size:.72rem;color:var(--fear-color, #a855f7);margin-bottom:.25rem}.gm-ref-card-desc{font-size:.75rem;color:var(--text-muted);line-height:1.5}.gm-ref-card-feature{margin-top:.3rem;padding:.3rem .5rem;background:#a855f70f;border-radius:6px;border-left:2px solid var(--fear-color, #a855f7)}.gm-ref-card-feature-name{font-weight:700;color:var(--hope-color, #fbbf24);font-size:.75rem}.gm-ref-card-feature-desc{font-size:.72rem;color:var(--text-secondary);margin-top:.15rem}.gm-callout{padding:.5rem .75rem;border-radius:8px;margin:.5rem 0;font-size:.78rem;line-height:1.5}.gm-callout.hope{background:#fbbf2414;border-left:3px solid var(--hope-color, #fbbf24)}.gm-callout.fear{background:#a855f714;border-left:3px solid var(--fear-color, #a855f7)}.gm-callout strong{color:var(--text-primary)}.gm-compact-list{list-style:none;padding:0;margin:.25rem 0}.gm-compact-list li{padding:.25rem 0;border-bottom:1px solid rgba(255,255,255,.04);display:flex;gap:.5rem}.gm-compact-list li:last-child{border-bottom:none}.gm-compact-list .label{font-weight:700;color:var(--text-primary);min-width:100px;flex-shrink:0}.gm-bulk-actions{display:flex;gap:.5rem;align-items:center}.gm-bulk-actions button{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);padding:.35rem .6rem;font-size:.72rem;cursor:pointer;transition:all .15s ease}.gm-bulk-actions button:hover{color:var(--text-primary);border-color:var(--border-accent)}.gm-highlight{background:#fbbf2440;color:var(--text-primary);border-radius:2px;padding:0 2px}.gm-no-results{text-align:center;padding:3rem 1rem;color:var(--text-muted);font-size:.9rem}.gm-no-results .no-results-icon{font-size:2rem;margin-bottom:.5rem}@media(max-width:767px){.gm-cheatsheet{padding:1rem}.gm-sections{grid-template-columns:1fr}.gm-cheatsheet-header{flex-direction:column;align-items:flex-start}.gm-search{width:100%}}.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}.upload-delete-btn{position:absolute;top:4px;right:4px;width:22px;height:22px;padding:0;display:flex;align-items:center;justify-content:center;background:#dc2626e6;color:#fff;border:none;border-radius:50%;cursor:pointer;opacity:0;transition:opacity .15s ease,background .15s ease;z-index:2}.content-item:hover .upload-delete-btn{opacity:1}.upload-delete-btn:hover{background:#dc2626}.content-thumbnail video{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.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}}.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}}.gm-screen-view{padding:1.5rem;min-height:100%;display:flex;flex-direction:column;gap:1.25rem}.gm-screen-toolbar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px}.gm-screen-toolbar-left{display:flex;align-items:center;gap:.5rem;color:var(--primary);padding-right:.75rem;border-right:1px solid var(--border);margin-right:.25rem}.gm-screen-title{font-weight:700;font-size:.9rem;color:var(--text-primary);white-space:nowrap}.gm-screen-toolbar-panels{display:flex;flex-wrap:wrap;gap:.375rem;flex:1}.gm-screen-toggle{display:flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:all .15s;white-space:nowrap}.gm-screen-toggle:hover{color:var(--text-primary);background:var(--bg-tertiary)}.gm-screen-toggle.active{border-color:color-mix(in srgb,var(--primary) 60%,transparent);color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent)}.gm-screen-toolbar-right{display:flex;gap:.25rem;margin-left:auto;padding-left:.75rem;border-left:1px solid var(--border)}.gm-screen-col-btn{padding:.4rem;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;transition:all .15s}.gm-screen-col-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}.gm-screen-col-btn.active{border-color:color-mix(in srgb,var(--primary) 60%,transparent);color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent)}.gm-screen-grid{display:grid;gap:1rem;grid-template-columns:repeat(var(--cols, 2),1fr);align-items:start}.gm-screen-panel{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;max-height:640px;overflow:hidden}.gm-screen-panel-header{padding:.6rem .875rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:color-mix(in srgb,var(--bg-tertiary) 50%,transparent)}.gm-screen-panel-title{display:flex;align-items:center;gap:.4rem;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;color:var(--text-secondary)}.gm-screen-panel-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center;transition:color .15s}.gm-screen-panel-close:hover{color:var(--fear-color, #ef4444)}.gm-screen-panel-body{flex:1;overflow-y:auto;min-height:0}.gm-screen-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem 2rem;color:var(--text-secondary);text-align:center;opacity:.6}.gm-screen-empty p{font-size:.9rem;max-width:280px}.gm-mini-search{padding:.5rem .75rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.5rem;flex-shrink:0}.gm-mini-search input{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:.85rem;font-family:inherit}.gm-mini-search input::-moz-placeholder{color:var(--text-secondary);opacity:.6}.gm-mini-search input::placeholder{color:var(--text-secondary);opacity:.6}.gm-mini-toolbar{padding:.5rem .75rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;flex-shrink:0}.gm-mini-filter-btn{padding:.2rem .55rem;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-size:.75rem;cursor:pointer;transition:all .15s}.gm-mini-filter-btn:hover{color:var(--text-primary)}.gm-mini-filter-btn.active{border-color:color-mix(in srgb,var(--primary) 60%,transparent);color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent)}.gm-mini-list{overflow-y:auto}.gm-mini-item{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;border-bottom:1px solid var(--border);transition:background .1s;cursor:default}.gm-mini-item:last-child{border-bottom:none}.gm-mini-item:hover{background:var(--bg-tertiary)}.gm-mini-item-name{font-size:.875rem;font-weight:500;color:var(--text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gm-mini-item-sub{font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.gm-mini-badge{font-size:.7rem;font-weight:600;padding:.15rem .45rem;border-radius:4px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.gm-mini-footer{padding:.5rem .75rem;border-top:1px solid var(--border);display:flex;gap:.5rem;flex-shrink:0}.gm-mini-footer-btn{flex:1;padding:.4rem .75rem;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-size:.78rem;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:.35rem}.gm-mini-footer-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}.gm-mini-footer-btn.primary{border-color:color-mix(in srgb,var(--primary) 50%,transparent);color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent)}.gm-mini-footer-btn.primary:hover{background:color-mix(in srgb,var(--primary) 18%,transparent)}.gm-mini-empty{padding:2rem 1rem;text-align:center;color:var(--text-secondary);font-size:.85rem;opacity:.7}.gm-screen-panel-body .fear-control{padding:1rem}.gm-screen-panel-body>.initiative-tracker{max-height:none}@media(max-width:900px){.gm-screen-grid{grid-template-columns:1fr!important}.gm-screen-subtitle{display:none}}.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}.custom-features-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.custom-features-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.custom-feature-row{display:grid;grid-template-columns:1fr 2fr auto;gap:.5rem;align-items:start;padding:.75rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px}.custom-feature-row .custom-feature-name{font-weight:600}.custom-feature-row .custom-feature-desc{resize:vertical;min-height:2.25rem}.dh-features-detailed{display:flex;flex-direction:column;gap:.5rem}.dh-features-detailed .dh-feature{align-self:flex-start}.dh-custom-feature{padding:.5rem .75rem;background:#fbbf2414;border:1px solid rgba(251,191,36,.3);border-radius:6px}.dh-custom-feature-name{display:block;font-weight:600;color:var(--hope-color);font-size:.95rem}.dh-custom-feature-desc{margin:.25rem 0 0;font-size:.85rem;color:var(--text-secondary);line-height:1.4}.item-ai-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.item-ai-error{padding:.75rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;border-radius:6px;font-size:.85rem}.item-ai-hint{padding:.75rem;background:#8b5cf614;border-left:3px solid #8b5cf6;color:var(--text-secondary);border-radius:4px;font-size:.85rem;line-height:1.5}.item-ai-modal .spin{animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@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-tier-filter{display:flex;gap:.375rem;flex-wrap:wrap}.import-tier-tab{padding:.375rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:all .2s ease}.import-tier-tab:hover{background:var(--bg-secondary);color:var(--text-primary)}.import-tier-tab.active{background:var(--hope-color);border-color:var(--hope-color);color:#fff}.import-item-tier{font-size:.65rem;font-weight:600;padding:.1rem .35rem;border-radius:3px;background:#fbbf2426;color:var(--hope-color)}.import-item-rarity{font-size:.65rem;font-weight:600;padding:.1rem .35rem;border-radius:3px;text-transform:capitalize}.import-item-rarity.uncommon{background:#22c55e26;color:#22c55e}.import-item-rarity.rare{background:#3b82f626;color:#3b82f6}.import-item-rarity.legendary{background:#a855f726;color:#a855f7}.catalog-tier-select{margin-left:auto;padding:.375rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.85rem;cursor:pointer}.catalog-tier-select:focus{outline:none;border-color:var(--hope-color)}.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}.environment-form{display:flex;flex-direction:column;gap:1rem}.environment-form .form-row{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:640px){.environment-form .form-row{grid-template-columns:repeat(3,1fr)}}.environment-feature-editor{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:var(--bg-secondary, rgba(0, 0, 0, .2));border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:6px}.environment-feature-row{display:grid;grid-template-columns:1fr;gap:.5rem;align-items:center}@media(min-width:640px){.environment-feature-row{grid-template-columns:2fr 1fr 1fr auto}}.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}}.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 .content-video{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;opacity:0;transition:opacity .5s ease}.content-display.loaded .content-video{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-fullscreen{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.battle-map-display{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#000;overflow:hidden;position:relative}.battle-map-display.empty{color:#ffffff4d;flex-direction:column;gap:1rem}.battle-map-display.empty p{font-size:1.5rem}:root{--sb-parchment: #ecdaae;--sb-parchment-lo: #dcc48b;--sb-parchment-hi: #f5e6bb;--sb-ink: #2a1e10;--sb-ink-soft: #4a3218;--sb-ink-muted: #6a4f2a;--sb-gilt: #b9883a;--sb-gilt-bright: #e2b860;--sb-gilt-deep: #6e4c12;--sb-leather: #2a1810;--sb-leather-hi: #3f2617;--sb-leather-lo: #180c06}.sb-desk{min-height:100%;padding:2rem 1rem 4rem;background:radial-gradient(ellipse 60% 40% at 50% 8%,rgba(230,180,100,.12),transparent 70%),radial-gradient(ellipse 80% 60% at 50% 110%,rgba(0,0,0,.55),transparent 60%),repeating-linear-gradient(115deg,rgba(0,0,0,.04) 0 2px,transparent 2px 7px),repeating-linear-gradient(25deg,rgba(255,200,130,.02) 0 1px,transparent 1px 5px),linear-gradient(180deg,var(--sb-leather-hi) 0%,var(--sb-leather) 50%,var(--sb-leather-lo) 100%)}.sb-toolbar{max-width:880px;margin:0 auto 1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:0 .5rem;flex-wrap:wrap}.sb-toolbar-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .85rem;font-family:Cinzel,serif;text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;color:#e9d4aabf;background:#00000059;border:1px solid rgba(185,136,58,.35);border-radius:2px;cursor:pointer;transition:color .18s,background .18s,border-color .18s}.sb-toolbar-btn:hover:not(:disabled){color:var(--sb-gilt-bright);background:#00000080;border-color:var(--sb-gilt)}.sb-page{max-width:880px;margin:0 auto;padding:3.5rem clamp(1.75rem,5vw,4.5rem) 3.5rem;color:var(--sb-ink);font-family:EB Garamond,Crimson Pro,Georgia,serif;font-size:1.08rem;line-height:1.8;position:relative;background-color:var(--sb-parchment);background-image:radial-gradient(ellipse at 50% 0%,rgba(255,230,180,.4),transparent 60%),radial-gradient(circle 80px at 22% 25%,rgba(140,90,30,.06),transparent),radial-gradient(circle 100px at 78% 70%,rgba(140,90,30,.07),transparent),radial-gradient(circle 60px at 60% 15%,rgba(120,70,20,.05),transparent),repeating-linear-gradient(103deg,rgba(140,90,30,.03) 0 2px,transparent 2px 8px),repeating-linear-gradient(17deg,rgba(140,90,30,.025) 0 2px,transparent 2px 6px),linear-gradient(170deg,var(--sb-parchment-hi) 0%,var(--sb-parchment) 45%,var(--sb-parchment-lo) 100%);border-radius:3px;box-shadow:inset 0 0 2px 1px #3c230f26,inset 0 0 60px #6e461924,0 0 0 1px #321c0c80,0 25px 65px #0000008c,0 6px 20px #0006}.sb-page:before,.sb-page:after{content:"";position:absolute;left:0;right:0;height:18px;pointer-events:none}.sb-page:before{top:0;background:linear-gradient(180deg,rgba(80,45,15,.18),transparent)}.sb-page:after{bottom:0;background:linear-gradient(0deg,rgba(80,45,15,.18),transparent)}.sb-chapter-header{text-align:center;margin-bottom:1.5rem}.sb-eyebrow{display:block;font-family:Cinzel,serif;text-transform:uppercase;letter-spacing:.45em;font-size:.76rem;color:var(--sb-gilt-deep);margin-bottom:.75rem}.sb-title{font-family:Cinzel,serif;font-weight:700;font-size:clamp(2rem,4vw,3rem);line-height:1.12;letter-spacing:.02em;color:var(--sb-ink);margin:0 0 .75rem;text-shadow:0 1px 0 rgba(255,235,190,.6)}.sb-title-session{font-family:EB Garamond,serif;font-style:italic;font-size:1.05rem;color:var(--sb-ink-soft);margin-bottom:.25rem}.sb-fleuron{display:block;margin:1rem auto 0;text-align:center;color:var(--sb-gilt-deep);font-size:1.4rem;letter-spacing:.6em;text-indent:.6em}.sb-fleuron:before{content:"❦   ❦   ❦"}.sb-rule{margin:2.5rem auto 1.5rem;text-align:center;color:var(--sb-gilt-deep);letter-spacing:.5em;font-size:1rem}.sb-rule:before{content:"⚜   ⚜   ⚜"}.sb-prose{max-width:68ch;margin:0 auto}.sb-prose p,.sb-para p{margin:0 0 1em;color:var(--sb-ink);text-indent:1.6em;text-align:justify;-webkit-hyphens:auto;hyphens:auto}.sb-prose p:last-child,.sb-para p:last-child{margin-bottom:0}.sb-para{margin-bottom:1em}.sb-para:last-child{margin-bottom:0}.sb-prose em{font-style:italic;color:var(--sb-ink-soft)}.sb-prose strong{font-weight:600;color:var(--sb-ink)}.sb-para--opening p:first-child{text-indent:0}.sb-illuminated{float:left;width:4.2em;height:4.2em;margin:.05em .45em 0 0;position:relative;display:flex;align-items:center;justify-content:center;font-family:Cinzel,serif;font-weight:700;font-size:3.3em;line-height:1;color:var(--sb-gilt-deep);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><defs><linearGradient id='g' x1='0' x2='1' y1='0' y2='1'><stop offset='0' stop-color='%23b9883a'/><stop offset='0.5' stop-color='%23e2b860'/><stop offset='1' stop-color='%236e4c12'/></linearGradient></defs><rect x='2' y='2' width='96' height='96' fill='none' stroke='url(%23g)' stroke-width='2'/><rect x='6' y='6' width='88' height='88' fill='none' stroke='%236e4c12' stroke-width='0.5'/><path d='M2 8 Q8 2 14 2 M98 8 Q92 2 86 2 M2 92 Q8 98 14 98 M98 92 Q92 98 86 98' fill='none' stroke='%236e4c12' stroke-width='1.2'/><path d='M50 4 Q54 8 50 12 Q46 8 50 4 Z' fill='%23b9883a'/><path d='M50 88 Q54 92 50 96 Q46 92 50 88 Z' fill='%23b9883a'/></svg>");background-size:contain;background-repeat:no-repeat;background-color:#ffebb48c;box-shadow:inset 0 0 20px #6e4c1226;text-shadow:0 1px 0 rgba(255,235,190,.8)}.sb-plate{margin:1.5rem 0 1.75rem;padding:0;cursor:zoom-in;position:relative;clear:both}.sb-plate-frame{position:relative;padding:12px;background:linear-gradient(180deg,var(--sb-parchment-hi),var(--sb-parchment-lo));border:1px solid var(--sb-gilt-deep);box-shadow:inset 0 0 0 1px #e2b86080,inset 0 0 0 5px var(--sb-parchment),inset 0 0 0 6px var(--sb-gilt),inset 0 0 0 7px var(--sb-gilt-deep),0 4px 14px #00000040}.sb-plate img{display:block;width:100%;height:auto;max-height:520px;-o-object-fit:contain;object-fit:contain;background:var(--sb-parchment);filter:sepia(6%) saturate(95%) contrast(102%)}.sb-plate-caption{text-align:center;font-family:Cinzel,serif;text-transform:uppercase;letter-spacing:.2em;font-size:.78rem;color:var(--sb-ink-soft);padding:.85rem .5rem 0}.sb-plate-corner{position:absolute;width:34px;height:34px;z-index:2;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'><g fill='none' stroke='%23b9883a' stroke-width='1.2'><path d='M4 4 C 10 4, 14 8, 14 14 M4 4 C 4 10, 8 14, 14 14'/><circle cx='14' cy='14' r='1.6' fill='%23b9883a'/><path d='M4 4 L 18 18'/></g></svg>");background-size:contain;background-repeat:no-repeat;opacity:.9}.sb-plate-corner.tl{top:2px;left:2px}.sb-plate-corner.tr{top:2px;right:2px;transform:scaleX(-1)}.sb-plate-corner.bl{bottom:2px;left:2px;transform:scaleY(-1)}.sb-plate-corner.br{bottom:2px;right:2px;transform:scale(-1)}.sb-section-label{font-family:Cinzel,serif;text-transform:uppercase;letter-spacing:.3em;font-size:.82rem;color:var(--sb-gilt-deep);text-align:center;margin-bottom:1.25rem}.sb-personae{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.sb-persona{display:flex;gap:.8rem;padding:.85rem;background:#ffebb459;border:1px solid rgba(110,76,18,.35);box-shadow:inset 0 0 0 1px #ffebbe80;border-radius:1px}.sb-persona-avatar{width:56px;height:56px;flex:0 0 56px;border-radius:50%;overflow:hidden;border:2px solid var(--sb-gilt);box-shadow:inset 0 0 0 1px var(--sb-parchment),0 0 0 1px var(--sb-gilt-deep);background:var(--sb-parchment-lo)}.sb-persona-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.sb-persona-name{font-family:Cinzel,serif;font-weight:700;color:var(--sb-ink);font-size:.95rem;line-height:1.2}.sb-persona-kind{font-family:Cinzel,serif;text-transform:uppercase;letter-spacing:.22em;font-size:.62rem;color:var(--sb-gilt-deep);margin-bottom:.35rem}.sb-persona-moment{font-size:.88rem;font-style:italic;color:var(--sb-ink-soft);line-height:1.5}.sb-memories{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.6rem}.sb-memory{aspect-ratio:1;overflow:hidden;border:2px solid var(--sb-gilt-deep);box-shadow:inset 0 0 0 1px var(--sb-parchment-hi);cursor:zoom-in;transition:transform .22s ease}.sb-memory:hover{transform:scale(1.03)}.sb-memory img,.sb-memory video{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.sb-memory-slate{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--sb-parchment-lo);color:var(--sb-ink-soft)}.sb-journal-entry{padding:1rem 1.1rem;background:#ffebb473;border-left:3px solid var(--sb-gilt);border-right:1px solid rgba(110,76,18,.3);box-shadow:0 1px 2px #3c1e051f;margin-bottom:.9rem}.sb-journal-head{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.6rem}.sb-journal-name{font-family:Cinzel,serif;font-weight:700;color:var(--sb-ink);font-size:1rem}.sb-journal-author{font-family:Cinzel,serif;text-transform:uppercase;letter-spacing:.2em;font-size:.62rem;color:var(--sb-gilt-deep)}.sb-journal-body p{margin:0 0 .65em;font-style:italic;color:var(--sb-ink-soft);font-size:.98rem;line-height:1.65;text-indent:0;text-align:left}.sb-journal-body p:last-child{margin-bottom:0}.sb-journal-form{padding:1.15rem;background:#ffebb44d;border:1px dashed rgba(110,76,18,.4)}.sb-journal-form textarea{width:100%;min-height:100px;padding:.7rem .85rem;background:#fff5d7bf;border:1px solid rgba(110,76,18,.4);color:var(--sb-ink);font-family:inherit;font-style:italic;font-size:1rem;line-height:1.6;resize:vertical}.sb-journal-form select{background:#fff5d7bf;border:1px solid rgba(110,76,18,.4);color:var(--sb-ink);font-family:inherit;font-size:.88rem;padding:.4rem .6rem}.sb-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem 1.1rem;font-family:Cinzel,serif;text-transform:uppercase;letter-spacing:.22em;font-size:.78rem;color:var(--sb-parchment-hi);background:linear-gradient(180deg,var(--sb-ink-soft),var(--sb-ink));border:1px solid var(--sb-gilt-deep);box-shadow:inset 0 1px #ffebb426;cursor:pointer;transition:background .18s,color .18s}.sb-btn:hover{background:linear-gradient(180deg,var(--sb-gilt-deep),var(--sb-ink-soft));color:var(--sb-gilt-bright)}.sb-btn[disabled]{opacity:.4;cursor:not-allowed}.sb-chapter-nav{margin-top:3rem;padding-top:2rem;border-top:1px dashed rgba(110,76,18,.35);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem}.sb-nav-link{display:inline-flex;align-items:center;gap:.75rem;padding:.9rem 1rem;background:transparent;border:none;text-align:left;color:var(--sb-ink);cursor:pointer;font-family:inherit;transition:color .18s,transform .18s}.sb-nav-link:hover:not(:disabled){color:var(--sb-gilt-deep);transform:translate(-4px)}.sb-nav-link--right{justify-self:end;text-align:right}.sb-nav-link--right:hover:not(:disabled){transform:translate(4px)}.sb-nav-link:disabled{opacity:.2;cursor:not-allowed}.sb-nav-kicker{display:block;font-family:Cinzel,serif;text-transform:uppercase;letter-spacing:.25em;font-size:.68rem;color:var(--sb-gilt-deep);margin-bottom:.2rem}.sb-nav-title{display:block;font-family:Cinzel,serif;font-weight:700;font-size:1rem;color:var(--sb-ink);max-width:20ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-toc-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:#0a0502d9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.sb-toc{position:relative;max-width:560px;width:100%;max-height:85vh;overflow-y:auto;padding:2.5rem clamp(1.5rem,4vw,2.75rem);color:var(--sb-ink);font-family:EB Garamond,serif;background-color:var(--sb-parchment);background-image:radial-gradient(ellipse at 50% 0%,rgba(255,230,180,.4),transparent 60%),repeating-linear-gradient(103deg,rgba(140,90,30,.03) 0 2px,transparent 2px 8px),linear-gradient(170deg,var(--sb-parchment-hi) 0%,var(--sb-parchment) 45%,var(--sb-parchment-lo) 100%);border-radius:3px;box-shadow:0 0 0 1px #321c0c80,0 25px 60px #0000008c,inset 0 0 60px #6e461924}.sb-toc-close{position:absolute;top:12px;right:12px;background:transparent;border:1px solid rgba(110,76,18,.4);color:var(--sb-ink-muted);padding:6px;border-radius:2px;cursor:pointer}.sb-toc-close:hover{color:var(--sb-gilt-deep);border-color:var(--sb-gilt-deep)}.sb-toc-list{list-style:none;padding:0;margin:1rem 0 0}.sb-toc-row{display:flex;align-items:baseline;width:100%;gap:.9rem;padding:.75rem .5rem;background:transparent;border:none;border-bottom:1px dotted rgba(110,76,18,.3);text-align:left;cursor:pointer;color:var(--sb-ink);font-family:inherit;transition:background .18s}.sb-toc-row:hover{background:#ffebb473}.sb-toc-row.is-current{background:#e2b86033}.sb-toc-num{font-family:Cinzel,serif;font-size:.72rem;letter-spacing:.22em;color:var(--sb-gilt-deep);min-width:5em}.sb-toc-title{flex:1;font-size:1.04rem;font-style:italic}.sb-hero{max-width:1280px;margin:0 auto 2rem;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:2rem .5rem 1.5rem;border-bottom:1px solid rgba(185,136,58,.3)}.sb-hero h1{font-family:Cinzel,serif;font-weight:700;font-size:clamp(2rem,4vw,3rem);color:#e9d4aaf2;letter-spacing:.03em;margin:.25rem 0 .4rem}.sb-hero-eyebrow{font-family:Cinzel,serif;text-transform:uppercase;letter-spacing:.5em;font-size:.72rem;color:var(--sb-gilt-bright)}.sb-hero-sub{font-family:EB Garamond,serif;font-style:italic;color:#e9d4aaa6;font-size:1.05rem;max-width:56ch;margin-top:.3rem}@media(max-width:640px){.sb-page{padding:2.5rem 1.25rem 2.75rem;font-size:1.02rem}.sb-illuminated{font-size:2.6em;width:3.6em;height:3.6em}.sb-chapter-nav{grid-template-columns:1fr}.sb-chapter-nav .sb-fleuron{display:none}.sb-nav-link,.sb-nav-link--right{justify-self:stretch;text-align:left}.sb-plate img{max-height:360px}}.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}.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;position:relative}.dh-chat-resize-handle{position:absolute;top:0;left:0;width:18px;height:18px;cursor:nwse-resize;z-index:3;border-top-left-radius:16px;background:linear-gradient(135deg,transparent 0 35%,var(--text-secondary) 35% 42%,transparent 42% 55%,var(--text-secondary) 55% 62%,transparent 62%);opacity:.35;transition:opacity .15s ease;touch-action:none}.dh-chat-resize-handle:hover,.dh-chat-resize-handle:active{opacity:.9}@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:900px){.dh-chat-widget-container{bottom:calc(var(--lr-main-pad, 64px) + 48px + 24px);right:1rem}}@media(max-width:480px){.dh-chat-window{width:100vw!important;height:100vh!important;height:100dvh!important;height:var(--chat-vvh, 100dvh)!important;max-height:100vh;max-height:100dvh;max-height:var(--chat-vvh, 100dvh);margin:0;border-radius:0;position:fixed;top:0;left:0;right:0;bottom:auto;z-index:1001}.dh-chat-resize-handle{display:none}.dh-chat-widget-container{right:1rem;bottom:calc(var(--lr-main-pad, 64px) + 48px + 24px)}.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}}.sw-theme .dh-chat-toggle{background:linear-gradient(135deg,#1a1a2e,#16213e);border:2px solid rgba(255,215,0,.4)}.sw-theme .dh-chat-toggle:hover{box-shadow:0 8px 25px #ffd70066}.sw-theme .dh-chat-header{background:linear-gradient(to right,rgba(255,215,0,.08),transparent)}.sw-theme .dh-chat-icon{background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid rgba(255,215,0,.5)}.sw-theme .dh-chat-title p{color:gold}.sw-theme .dh-message.ai .dh-message-avatar{background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid rgba(255,215,0,.4)}.sw-theme .dh-message.user .dh-message-content{background:#16213e;border:1px solid rgba(255,215,0,.3)}.sw-theme .dh-message.ai .dh-message-content h1,.sw-theme .dh-message.ai .dh-message-content h2,.sw-theme .dh-message.ai .dh-message-content h3,.sw-theme .dh-message.ai .dh-message-content h4,.sw-theme .dh-message.ai .dh-message-content strong{color:gold}.sw-theme .dh-message.ai .dh-message-content blockquote{border-left-color:gold}.sw-theme .dh-chat-input:focus{border-color:gold}.sw-theme .dh-chat-send{background:#16213e;border:1px solid rgba(255,215,0,.4)}.sw-theme .dh-chat-send:hover:not(:disabled){background:#1a1a2e;border-color:gold;box-shadow:0 0 10px #ffd7004d}.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}}.lrp-portal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:linear-gradient(180deg,#0a0814,#0d0a1f 40%,#110d28);color:#fff;font-family:Inter,-apple-system,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow:hidden;display:flex;flex-direction:column}.lrp-portal:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 20% 0%,rgba(234,179,8,.05) 0%,transparent 55%),radial-gradient(ellipse at 80% 100%,rgba(139,92,246,.05) 0%,transparent 55%);pointer-events:none;z-index:0}.lrp-portal>*{position:relative;z-index:1}.lrp-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:none}.lrp-content::-webkit-scrollbar{display:none}.lrp-cinzel{font-family:Cinzel,Times New Roman,serif}.lrp-section-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.22em;color:#eab30899;margin-bottom:8px}.lrp-icon-btn{width:36px;height:36px;border-radius:50%;border:none;padding:0;background:#ffffff0f;color:#ffffffd9;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);-webkit-tap-highlight-color:transparent;transition:background .15s}.lrp-icon-btn:active{background:#ffffff1f}.lrp-slot-track-label-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.lrp-slot-track-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.22em;opacity:.85}.lrp-slot-track-count{font-size:11px;font-weight:800;color:#ffffff8c;font-variant-numeric:tabular-nums;letter-spacing:.05em}.lrp-slot-track-row{display:flex;gap:6px;flex-wrap:wrap}.lrp-slot{width:26px;height:26px;border-radius:6px;padding:0;border:none;cursor:pointer;transition:all .15s ease;-webkit-tap-highlight-color:transparent;flex-shrink:0}.lrp-slot:active{transform:scale(.88)}.lrp-tab-bar{position:sticky;top:0;z-index:4;background:linear-gradient(180deg,#0d0a1ff0,#0d0a1fde);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(234,179,8,.12);display:flex;overflow-x:auto;padding:0 12px;scrollbar-width:none}.lrp-tab-bar::-webkit-scrollbar{display:none}.lrp-tab-btn{flex-shrink:0;padding:14px 14px 12px;background:none;border:none;font-family:inherit;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent;white-space:nowrap;transition:color .15s;border-bottom:2px solid transparent}.lrp-card{background:linear-gradient(180deg,#ffffff0a,#ffffff04);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:14px;transition:transform .1s}.lrp-card-interactive{cursor:pointer}.lrp-card-interactive:active{transform:scale(.98)}.lrp-roll-pill{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;border:none;cursor:pointer;font-family:inherit;font-size:12px;font-weight:700;letter-spacing:.05em;-webkit-tap-highlight-color:transparent;transition:all .12s}.lrp-roll-pill:active{transform:scale(.95)}.lrp-bonus-toggle{display:flex;gap:4px;padding:4px;background:#0006;border-radius:12px;border:1px solid rgba(255,255,255,.06)}.lrp-bonus-seg{flex:1;padding:7px 8px;border-radius:9px;border:none;font-family:inherit;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:all .15s;-webkit-tap-highlight-color:transparent}.lrp-trait-btn{padding:12px 8px;border-radius:12px;background:linear-gradient(180deg,#60a5fa1f,#60a5fa08);border:1px solid rgba(96,165,250,.3);cursor:pointer;font-family:inherit;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px;-webkit-tap-highlight-color:transparent;transition:all .12s}.lrp-trait-btn:active{transform:scale(.95);background:#60a5fa33}.lrp-trait-name{font-size:9px;color:#93c5fdd9;letter-spacing:.18em;text-transform:uppercase;font-weight:800}.lrp-trait-value{font-family:Cinzel,serif;font-size:28px;font-weight:900;color:#fdf6dc;letter-spacing:-.02em;line-height:1}.lrp-trait-flavor{font-size:8px;color:#ffffff59;letter-spacing:.12em;text-transform:uppercase;font-weight:600}.lrp-spell-card{border-radius:14px;overflow:hidden;transition:all .25s}.lrp-roll-overlay{position:sticky;top:0;z-index:10;padding:10px 16px;background:#07060df7;border-bottom:1px solid rgba(234,179,8,.2);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);animation:lrp-slide-down .2s ease}@keyframes lrp-slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.lrp-select-hero-card{position:relative;border-radius:22px;border:1.5px solid rgba(234,179,8,.35);background:linear-gradient(160deg,#eab30814,#140f28b3 60%);padding:18px;overflow:hidden;box-shadow:0 18px 40px #00000073,inset 0 1px #eab3082e;width:100%;border:none;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.lrp-select-hero-card:active{opacity:.92}.lrp-select-other-card{width:100%;padding:12px;border:1px solid rgba(255,255,255,.06);background:#ffffff06;border-radius:16px;display:flex;align-items:center;gap:12px;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;transition:border-color .15s}.lrp-select-other-card:active{border-color:#eab3084d}.lrp-avatar-ring{border-radius:50%;overflow:hidden;flex-shrink:0;background:#0a0814;display:flex;align-items:center;justify-content:center;font-family:Cinzel,serif;font-weight:900;color:#eab308}.lrp-avatar-ring img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.lrp-mini-vital{background:#0000004d;border-radius:10px;padding:8px 10px;border:1px solid rgba(255,255,255,.05)}.lrp-gold-card{padding:14px;border-radius:14px;background:linear-gradient(180deg,#eab3081a,#eab30805);border:1px solid rgba(234,179,8,.25);display:flex;justify-content:space-around}@media(min-width:601px){.lrp-inner{max-width:440px;margin:0 auto}}: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 Tight,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:JetBrains Mono,ui-monospace,Menlo,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%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:901px){.\!container{max-width:901px!important}.container{max-width:901px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.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-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-bottom-0\.5{bottom:-.125rem}.-left-8{left:-2rem}.-right-0\.5{right:-.125rem}.-top-20{top:-5rem}.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-10{left:2.5rem}.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\.5{right:.375rem}.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\.5{top:.375rem}.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-\[200\]{z-index:200}.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}.-mt-2{margin-top:-.5rem}.-mt-3{margin-top:-.75rem}.mb-1{margin-bottom:.25rem}.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-6{margin-left:1.5rem}.ml-8{margin-left:2rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.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-5{margin-top:1.25rem}.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}.contents{display:contents}.hidden{display:none}.aspect-\[16\/9\]{aspect-ratio:16/9}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:16 / 9}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.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-3{height:.75rem}.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-72{height:18rem}.h-8{height:2rem}.h-80{height:20rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[20\%\]{height:20%}.h-\[2px\]{height:2px}.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-48{max-height:12rem}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-80{max-height:20rem}.max-h-96{max-height:24rem}.max-h-\[100px\]{max-height:100px}.max-h-\[400px\]{max-height:400px}.max-h-\[40vh\]{max-height:40vh}.max-h-\[55vh\]{max-height:55vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[90vh\]{max-height:90vh}.min-h-\[100px\]{min-height:100px}.min-h-\[150px\]{min-height:150px}.min-h-\[1rem\]{min-height:1rem}.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-\[60px\]{min-height:60px}.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-11{width:2.75rem}.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-28{width:7rem}.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-80{width:20rem}.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-\[16px\]{min-width:16px}.min-w-\[200px\]{min-width:200px}.min-w-\[220px\]{min-width:220px}.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-\[85\%\]{max-width:85%}.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{flex-shrink:0}.shrink{flex-shrink:1}.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-decimal{list-style-type:decimal}.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-row-reverse{flex-direction:row-reverse}.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-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-0\.5{row-gap:.125rem}.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-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-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-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * 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-start{align-self:flex-start}.self-center{align-self:center}.self-stretch{align-self:stretch}.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-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.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-\[color\:var\(--line\)\]{border-color:var(--line)}.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\)\)\/20\]{border-color:rgb(var(--color-primary))/20}.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\)\)\]\/30{border-color:rgb(var(--color-primary) / .3)}.border-\[rgb\(var\(--color-primary\)\)\]\/40{border-color:rgb(var(--color-primary) / .4)}.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\/40{border-color:#f59e0b66}.border-amber-500\/50{border-color:#f59e0b80}.border-amber-700\/30{border-color:#b453094d}.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-green-500\/20{border-color:#22c55e33}.border-green-500\/30{border-color:#22c55e4d}.border-indigo-400{--tw-border-opacity: 1;border-color:rgb(129 140 248 / 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-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-500\/30{border-color:#0ea5e94d}.border-sky-500\/50{border-color:#0ea5e980}.border-transparent{border-color:transparent}.border-violet-500\/30{border-color:#8b5cf64d}.border-white\/10{border-color:#ffffff1a}.border-white\/15{border-color:#ffffff26}.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-\[\#0a0a0a\]{--tw-bg-opacity: 1;background-color:rgb(10 10 10 / var(--tw-bg-opacity, 1))}.bg-\[\#0d1126\]\/90{background-color:#0d1126e6}.bg-\[\#0d1126\]\/95{background-color:#0d1126f2}.bg-\[color\:var\(--primary\)\]{background-color:var(--primary)}.bg-\[color\:var\(--primary-soft\)\]{background-color:var(--primary-soft)}.bg-\[color\:var\(--success\)\]{background-color:var(--success)}.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\)\)\]\/30{background-color:rgb(var(--color-primary) / .3)}.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{--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity, 1))}.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:#17132eb3}.bg-arcane-navy{--tw-bg-opacity: 1;background-color:rgb(14 11 31 / var(--tw-bg-opacity, 1))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/20{background-color:#0003}.bg-black\/30{background-color:#0000004d}.bg-black\/40{background-color:#0006}.bg-black\/50{background-color:#00000080}.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-green-500\/20{background-color:#22c55e33}.bg-green-500\/5{background-color:#22c55e0d}.bg-green-600\/20{background-color:#16a34a33}.bg-indigo-400{--tw-bg-opacity: 1;background-color:rgb(129 140 248 / var(--tw-bg-opacity, 1))}.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\/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-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-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-violet-500\/10{background-color:#8b5cf61a}.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\.06\]{background-color:#ffffff0f}.bg-white\/\[0\.07\]{background-color:#ffffff12}.bg-white\/\[0\.08\]{background-color:#ffffff14}.bg-yellow-500{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity, 1))}.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-\[color\:var\(--primary\)\]{--tw-gradient-from: var(--primary) 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-\[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-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-black\/80{--tw-gradient-from: rgb(0 0 0 / .8) 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-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-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-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-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)}.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-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{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #fff 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-\[color\:var\(--accent\)\]{--tw-gradient-to: var(--accent) var(--tw-gradient-to-position)}.to-amber-500\/10{--tw-gradient-to: rgb(245 158 11 / .1) 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-emerald-500\/0{--tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position)}.to-purple-500\/10{--tw-gradient-to: rgb(168 85 247 / .1) 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}.fill-white{fill:#fff}.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-0\.5{padding-left:.125rem;padding-right:.125rem}.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-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.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-0\.5{padding-bottom:.125rem}.pb-2{padding-bottom:.5rem}.pb-20{padding-bottom:5rem}.pb-3{padding-bottom:.75rem}.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-2{padding-right:.5rem}.pr-4{padding-right:1rem}.pr-6{padding-right:1.5rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-10{padding-top:2.5rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.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:JetBrains Mono,ui-monospace,Menlo,monospace}.font-sans{font-family:Inter Tight,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-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}.font-thin{font-weight:100}.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}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-\[1\.05\]{line-height:1.05}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-\[0\.14em\]{letter-spacing:.14em}.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-\[color\:var\(--primary\)\]{color:var(--primary)}.text-\[color\:var\(--text\)\]{color:var(--text)}.text-\[color\:var\(--text-dim\)\]{color:var(--text-dim)}.text-\[color\:var\(--text-muted\)\]{color:var(--text-muted)}.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-300{--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.text-amber-400\/40{color:#fbbf2466}.text-amber-400\/50{color:#fbbf2480}.text-amber-400\/60{color:#fbbf2499}.text-amber-400\/70{color:#fbbf24b3}.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-cyan-400\/60{color:#22d3ee99}.text-emerald-200{--tw-text-opacity: 1;color:rgb(167 243 208 / var(--tw-text-opacity, 1))}.text-emerald-300{--tw-text-opacity: 1;color:rgb(110 231 183 / 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-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-indigo-200{--tw-text-opacity: 1;color:rgb(199 210 254 / var(--tw-text-opacity, 1))}.text-indigo-200\/70{color:#c7d2feb3}.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-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-300{--tw-text-opacity: 1;color:rgb(252 165 165 / 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-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-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-violet-300{--tw-text-opacity: 1;color:rgb(196 181 253 / var(--tw-text-opacity, 1))}.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\/25{color:#ffffff40}.text-white\/30{color:#ffffff4d}.text-white\/35{color:#ffffff59}.text-white\/40{color:#fff6}.text-white\/50{color:#ffffff80}.text-white\/55{color:#ffffff8c}.text-white\/60{color:#fff9}.text-white\/70{color:#ffffffb3}.text-white\/80{color:#fffc}.text-white\/85{color:#ffffffd9}.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-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_var\(--primary-soft\)\]{--tw-shadow: 0 0 12px var(--primary-soft);--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\(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_6px_rgba\(129\,140\,248\,0\.8\)\]{--tw-shadow: 0 0 6px rgba(129,140,248,.8);--tw-shadow-colored: 0 0 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-\[0_0_6px_rgba\(251\,191\,36\,0\.8\)\]{--tw-shadow: 0 0 6px rgba(251,191,36,.8);--tw-shadow-colored: 0 0 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-\[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_0_8px_rgba\(52\,211\,153\,0\.6\)\]{--tw-shadow: 0 0 8px rgba(52,211,153,.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_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-black\/50{--tw-shadow-color: rgb(0 0 0 / .5);--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)}.shadow-red-900\/20{--tw-shadow-color: rgb(127 29 29 / .2);--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-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-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-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-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)}.sepia{--tw-sepia: sepia(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)}.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-100{transition-duration:.1s}.duration-1000{transition-duration:1s}.duration-150{transition-duration:.15s}.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: #0E0B1F;--bg-secondary: #17132E;--bg-tertiary: #1E1940;--accent-primary: #eab308;--accent-secondary: #f59e0b;--accent-tertiary: #8b5cf6;--glow-color: rgba(139, 92, 246, .3);--border-accent: rgba(139, 92, 246, .4);--text-primary: #F3EEFF;--text-secondary: rgba(243, 238, 255, .8);--hope-color: var(--accent-primary);--hope-secondary: var(--accent-secondary);--fear-color: var(--accent-tertiary);--fear-secondary: var(--accent-tertiary);--border: rgba(255, 255, 255, .1);--card-bg: rgba(23, 19, 46, .8);--sidebar-width: 260px;--sidebar-collapsed-width: 72px;--bg: #0E0B1F;--surface: #17132E;--surface-hi: #1E1940;--line: rgba(255,255,255,.08);--line-strong: rgba(255,255,255,.14);--primary: #8B5CF6;--primary-soft: rgba(139,92,246,.18);--accent: #FBBF24;--accent-soft: rgba(251,191,36,.14);--fear: #C084FC;--text: #F3EEFF;--text-muted: #B9B0D6;--text-dim: #8278A4;--danger: #F87171;--success: #34D399;--info: #60A5FA;--r-common: #6B7280;--r-uncommon: #34D399;--r-rare: #60A5FA;--r-epic: #C084FC;--r-legendary: #FBBF24;--font-display: "Fraunces", "Cinzel", "EB Garamond", Georgia, serif;--font-body: "Inter Tight", "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, Menlo, monospace}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);background:var(--bg);color:var(--text);min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.2;letter-spacing:-.01em;color:var(--text)}button{font-family:var(--font-body);cursor:pointer;transition:all .2s ease}input,textarea,select{font-family:var(--font-body)}::-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}}.lr-mobile-only{display:none!important}.lr-desktop-only{display:flex!important}@media(max-width:900px){.lr-mobile-only{display:flex!important}.lr-desktop-only{display:none!important}:root{--lr-main-pad: calc(64px + env(safe-area-inset-bottom, 0px)) }}.lr-scene{padding:28px;max-width:1400px;margin:0 auto}@media(max-width:900px){.lr-scene{padding:20px 16px}}@keyframes lr-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.lr-fade-in{animation:lr-fade-in .25s ease both}@media(max-width:900px){.lr-stats-grid{grid-template-columns:1fr 1fr!important}.lr-dash-grid{grid-template-columns:1fr!important}.lr-char-header{grid-template-columns:72px 1fr!important;gap:14px!important;align-items:start!important}.lr-char-header>.lr-char-actions{display:none!important}.lr-char-avatar{width:72px!important;height:72px!important;border-radius:14px!important;font-size:32px!important}.lr-char-avatar>.lr-level-badge{width:28px!important;height:28px!important;right:-6px!important;bottom:-6px!important}.lr-char-avatar>.lr-level-badge>span:first-child{font-size:7px!important}.lr-char-avatar>.lr-level-badge>span:last-child{font-size:13px!important}.lr-char-body{grid-template-columns:1fr!important}.lr-trait-grid{grid-template-columns:repeat(3,1fr)!important}.lr-vitals-grid,.lr-weapon-grid,.lr-lore-layout{grid-template-columns:1fr!important}.lr-lore-list{display:none!important}.lr-enc-grid{grid-template-columns:1fr!important}.lr-sound-grid{grid-template-columns:repeat(2,1fr)!important}.lr-inv-grid{grid-template-columns:1fr!important}}@media(max-width:600px){.lr-char-header h1{font-size:28px!important}.lr-sound-grid{grid-template-columns:repeat(2,1fr)!important}}.lr-tnum{font-variant-numeric:tabular-nums}*:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.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\/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-white\/30:hover{border-color:#ffffff4d}.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\)\)\/30\]:hover{background-color:rgb(var(--color-primary))/30}.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\/20:hover{background-color:#f59e0b33}.hover\:bg-amber-500\/30:hover{background-color:#f59e0b4d}.hover\:bg-black\/60:hover{background-color:#0009}.hover\:bg-black\/80:hover{background-color:#000c}.hover\:bg-blue-500\/30:hover{background-color:#3b82f64d}.hover\:bg-emerald-500:hover{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.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-green-600\/30:hover{background-color:#16a34a4d}.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-500\/20:hover{background-color:#6366f133}.hover\:bg-indigo-500\/30:hover{background-color:#6366f14d}.hover\:bg-indigo-600:hover{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1))}.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-500\/80:hover{background-color:#ef4444cc}.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\.02\]:hover{background-color:#ffffff05}.hover\:bg-white\/\[0\.03\]:hover{background-color:#ffffff08}.hover\:bg-white\/\[0\.04\]:hover{background-color:#ffffff0a}.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-\[color\:var\(--text\)\]:hover{color:var(--text)}.hover\:text-\[color\:var\(--text-muted\)\]:hover{color:var(--text-muted)}.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-\[var\(--text-primary\)\]:hover{color:var(--text-primary)}.hover\:text-amber-500:hover{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.hover\:text-indigo-300:hover{--tw-text-opacity: 1;color:rgb(165 180 252 / 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-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\/60:hover{color:#fff9}.hover\:text-white\/70:hover{color:#ffffffb3}.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\:opacity-80:hover{opacity:.8}.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-\[color\:var\(--primary\)\]:focus{border-color:var(--primary)}.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\:border-white\/30:focus{border-color:#ffffff4d}.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\: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-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-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.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\:text-indigo-400{--tw-text-opacity: 1;color:rgb(129 140 248 / var(--tw-text-opacity, 1))}.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\/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-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))}.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\:border-white\/40{border-color:#fff6}.group:hover .group-hover\:bg-amber-500\/30{background-color:#f59e0b4d}.group:hover .group-hover\:bg-indigo-500\/30{background-color:#6366f14d}.group:hover .group-hover\:bg-white\/10{background-color:#ffffff1a}.group:hover .group-hover\:text-\[color\:var\(--text-muted\)\]{color:var(--text-muted)}.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-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\/item:hover .group-hover\/item\:opacity-100,.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\: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\:col-span-2{grid-column:span 2 / span 2}.sm\:col-span-3{grid-column:span 3 / span 3}.sm\:col-span-5{grid-column:span 5 / span 5}.sm\:col-span-6{grid-column:span 6 / span 6}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:inline-flex{display:inline-flex}.sm\:aspect-\[21\/9\]{aspect-ratio:21/9}.sm\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:p-6{padding:1.5rem}.sm\:p-8{padding:2rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}}@media(min-width:768px){.md\:col-span-2{grid-column:span 2 / span 2}.md\:block{display:block}.md\:aspect-auto{aspect-ratio:auto}.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\: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\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:grid-cols-\[240px_1fr\]{grid-template-columns:240px 1fr}.md\:flex-row{flex-direction:row}.md\:flex-nowrap{flex-wrap:nowrap}.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-3{gap:.75rem}.md\:gap-6{gap:1.5rem}.md\:p-10{padding:2.5rem}.md\:p-24{padding:6rem}.md\:p-6{padding:1.5rem}.md\:p-8{padding:2rem}.md\:pb-0{padding-bottom:0}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}}@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\:grid-cols-4{grid-template-columns:repeat(4,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))}}@media(max-width:900px){.lr\:h-14{height:3.5rem}}@media(min-width:901px){.desk\:sticky{position:sticky}.desk\:flex{display:flex}.desk\:h-16{height:4rem}.desk\:h-9{height:2.25rem}.desk\:w-9{width:2.25rem}.desk\: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))}.desk\:gap-3{gap:.75rem}.desk\:gap-4{gap:1rem}.desk\:px-6{padding-left:1.5rem;padding-right:1.5rem}.desk\:pl-4{padding-left:1rem}}.\[\&\:\:-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))}
