:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{min-width:320px;min-height:100vh;margin:0}h1{font-size:3.2em;line-height:1.1}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.auth-container{background-color:#1a1a1a;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.auth-card{background-color:#242424;border:1px solid #333;border-radius:12px;width:100%;max-width:400px;padding:2.5rem;box-shadow:0 4px 6px #0000004d}.auth-card h2{color:#fff;text-align:center;margin:0 0 1.5rem;font-size:2rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#aaa;margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.form-group input{color:#fff;box-sizing:border-box;background-color:#1a1a1a;border:1px solid #444;border-radius:6px;width:100%;padding:.75rem 1rem;font-family:inherit;font-size:1rem;transition:border-color .2s}.form-group input:focus{border-color:#646cff;outline:none}.form-group input:disabled{opacity:.6;cursor:not-allowed}.error-message{color:#ff6b6b;background-color:#ff6b6b1a;border:1px solid #ff6b6b;border-radius:6px;margin-bottom:1rem;padding:.75rem;font-size:.9rem}.auth-button{color:#fff;cursor:pointer;background-color:#646cff;border:none;border-radius:6px;width:100%;margin-bottom:1rem;padding:.75rem;font-size:1rem;font-weight:600;transition:background-color .2s}.auth-button:hover:not(:disabled){background-color:#535bf2}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-switch{text-align:center;color:#aaa;margin:0;font-size:.9rem}.link-button{color:#646cff;cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;font-family:inherit;text-decoration:underline}.link-button:hover{color:#535bf2}.game-scheduler-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.game-scheduler-modal{background:#1e1e1e;border-radius:12px;width:90%;max-width:900px;max-height:90vh;padding:2rem;overflow-y:auto;box-shadow:0 10px 40px #00000080}.game-scheduler-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.game-scheduler-header h2{color:#fff;margin:0;font-size:1.5rem}.close-button{color:#aaa;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:1.5rem;transition:all .2s;display:flex}.close-button:hover{color:#fff;background:#333}.game-scheduler-content{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.calendar-section,.slots-section{flex-direction:column;gap:1rem;display:flex}.calendar-section h3,.slots-section h3{color:#fff;margin:0 0 .5rem;font-size:1.1rem}.time-inputs{gap:1rem;margin-top:1rem;display:flex}.time-input-group{flex:1}.time-input-group label{color:#aaa;margin-bottom:.5rem;font-size:.9rem;display:block}.time-input-group input{color:#fff;background:#2a2a2a;border:1px solid #444;border-radius:6px;width:100%;padding:.75rem;font-size:1rem}.best-slots-list{flex-direction:column;gap:.75rem;max-height:400px;padding-right:.5rem;display:flex;overflow-y:auto}.best-slot-item{cursor:pointer;background:#2a2a2a;border:2px solid #444;border-radius:8px;padding:1rem;transition:all .2s}.best-slot-item:hover{background:#2f2f2f;border-color:#646cff}.best-slot-item.selected{background:#2f2f3f;border-color:#646cff}.best-slot-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.best-slot-time{color:#fff;font-weight:500}.best-slot-count{color:#646cff;font-size:.9rem}.best-slot-players{flex-wrap:wrap;gap:.5rem;display:flex}.player-badge-small{color:#fff;border-radius:4px;padding:.25rem .5rem;font-size:.85rem;font-weight:500}.game-scheduler-actions{border-top:1px solid #333;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1.5rem;display:flex}.cancel-button,.schedule-button{cursor:pointer;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:1rem;transition:all .2s}.cancel-button{color:#aaa;background:0 0;border:1px solid #555}.cancel-button:hover{color:#fff;background:#333}.schedule-button{color:#fff;background:#646cff}.schedule-button:hover{background:#535bf2}.schedule-button:disabled{color:#666;cursor:not-allowed;background:#444}.no-slots-message{color:#aaa;text-align:center;padding:2rem;font-style:italic}@media (max-width:768px){.game-scheduler-content{grid-template-columns:1fr}}.game-details-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.game-details-modal{background:#1e1e1e;border-radius:12px;width:90%;max-width:500px;padding:2rem;box-shadow:0 10px 40px #00000080}.game-details-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.game-details-header h2{color:#fff;margin:0;font-size:1.5rem}.game-details-content{flex-direction:column;gap:1.5rem;display:flex}.game-info-section{flex-direction:column;gap:.75rem;display:flex}.game-info-item{flex-direction:column;gap:.25rem;display:flex}.game-info-label{color:#aaa;text-transform:uppercase;letter-spacing:.5px;font-size:.85rem}.game-info-value{color:#fff;font-size:1rem}.game-participants{flex-direction:column;gap:.5rem;display:flex}.participants-list{flex-wrap:wrap;gap:.5rem;display:flex}.participant-badge{color:#fff;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.9rem;font-weight:500;display:flex}.participant-badge.creator:after{content:"👑";font-size:.85rem}.game-details-actions{border-top:1px solid #333;gap:1rem;padding-top:1rem;display:flex}.game-action-button{cursor:pointer;border:none;border-radius:6px;flex:1;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:all .2s}.join-button{color:#fff;background:#646cff}.join-button:hover{background:#535bf2}.leave-button{color:#fff;background:#ff6b6b}.leave-button:hover{background:#ff5252}.delete-button{color:#fff;background:#ff6b6b}.delete-button:hover{background:#ff5252}.close-button-game{color:#aaa;background:0 0;border:1px solid #555}.close-button-game:hover{color:#fff;background:#333}.game-action-button:disabled{color:#666;cursor:not-allowed;background:#444}.no-participants{color:#aaa;font-size:.9rem;font-style:italic}.modal-overlay{z-index:1100;background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:#1e1e1e;border-radius:12px;flex-direction:column;gap:1rem;padding:2rem;display:flex;box-shadow:0 10px 40px #00000080}.modal-content h3{color:#fff;margin-top:0}.modal-content p{color:#ccc}.language-switcher{background-color:#2a2a2a;border-radius:6px;gap:.25rem;padding:.25rem;display:flex}.lang-button{color:#aaa;cursor:pointer;background-color:#0000;border:none;border-radius:4px;padding:.4rem .8rem;font-size:.85rem;font-weight:600;transition:all .2s}.lang-button:hover{color:#fff;background-color:#333}.lang-button.active{color:#fff;background-color:#646cff}.tab-navigation{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e1e1ecc;border:1px solid #ffffff1a;border-radius:12px;gap:.5rem;margin-bottom:1rem;padding:.5rem;display:flex}.tab-button{color:#aaa;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:all .3s;display:flex;position:relative;overflow:hidden}.tab-button:before{content:"";opacity:0;background:linear-gradient(135deg,#646cff1a,#646cff0d);transition:opacity .3s;position:absolute;inset:0}.tab-button:hover{color:#fff;background:#646cff1a}.tab-button:hover:before{opacity:1}.tab-button.active{color:#fff;background:linear-gradient(135deg,#646cff,#5a5fd7);box-shadow:0 4px 12px #646cff4d}.tab-button.active:before{opacity:0}.tab-icon{font-size:1.2rem;transition:transform .3s;display:inline-block}.tab-button:hover .tab-icon{transform:scale(1.1)}.tab-button.active .tab-icon{animation:.5s bounce}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.tab-label{font-weight:500}@media (max-width:768px){.tab-button{padding:.5rem 1rem;font-size:.9rem}.tab-label{display:none}.tab-icon{font-size:1.5rem}}.player-tooltip{z-index:10000;pointer-events:none;background:#2a2a2a;border:1px solid #444;border-radius:8px;min-width:150px;max-width:250px;padding:0;position:fixed;box-shadow:0 4px 12px #00000080}.player-tooltip-header{color:#fff;background:#333;border-bottom:1px solid #444;border-radius:8px 8px 0 0;padding:8px 12px;font-size:.85rem;font-weight:600}.player-tooltip-list{max-height:300px;padding:8px;overflow-y:auto}.player-tooltip-item{border-radius:4px;align-items:center;gap:8px;padding:6px 8px;transition:background-color .2s;display:flex}.player-tooltip-item:hover{background:#333}.player-tooltip-color{border-radius:50%;flex-shrink:0;width:12px;height:12px}.player-tooltip-name{color:#ddd;white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;overflow:hidden}.player-tooltip-list::-webkit-scrollbar{width:6px}.player-tooltip-list::-webkit-scrollbar-track{background:#1a1a1a;border-radius:3px}.player-tooltip-list::-webkit-scrollbar-thumb{background:#555;border-radius:3px}.player-tooltip-list::-webkit-scrollbar-thumb:hover{background:#666}.calendar-timeline{background-color:#1a1a1a;border-radius:8px;flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.calendar-timeline-header{background-color:#242424;border-bottom:1px solid #333;justify-content:space-between;align-items:center;padding:1rem;display:flex}.nav-button,.today-button{color:#fff;cursor:pointer;background-color:#2a2a2a;border:1px solid #444;border-radius:6px;padding:.5rem 1rem;font-size:.9rem;transition:all .2s}.nav-button:hover,.today-button:hover{background-color:#333;border-color:#646cff}.today-button{background-color:#646cff;border-color:#646cff}.today-button:hover{background-color:#535bf2}.calendar-timeline-container{flex:1;min-height:0;display:flex;overflow:auto}.timeline-hours-column{background-color:#1e1e1e;border-right:1px solid #333;flex-shrink:0;width:80px}.hours-header{color:#aaa;border-bottom:1px solid #333;justify-content:center;align-items:center;height:60px;font-weight:600;display:flex}.hours-list{flex-direction:column;display:flex}.hour-cell{color:#888;border-bottom:1px solid #2a2a2a;justify-content:center;align-items:center;height:40px;font-size:.75rem;display:flex}.timeline-dates-container{flex-direction:column;flex:1;min-width:0;display:flex;overflow-x:auto}.dates-header{z-index:10;background-color:#1e1e1e;border-bottom:1px solid #333;height:60px;display:flex;position:sticky;top:0}.date-header-cell{cursor:pointer;border-right:1px solid #333;flex-direction:column;flex:0 0 80px;justify-content:center;align-items:center;min-width:80px;transition:background-color .2s;display:flex}.date-header-cell:hover{background-color:#2a2a2a}.date-header-day{color:#fff;font-size:1.2rem;font-weight:600}.date-header-weekday{color:#aaa;text-transform:capitalize;font-size:.7rem}.timeline-grid{flex:1;min-width:min-content;display:flex}.date-column{border-right:1px solid #333;flex-direction:column;flex:0 0 80px;min-width:80px;display:flex}.time-cell{cursor:pointer;border-bottom:1px solid #2a2a2a;height:40px;transition:background-color .1s,border-color .1s;position:relative}.time-cell:hover{background-color:#646cff1a;border-left:2px solid #646cff}.time-cell-selected{border-left:3px solid #646cff;background-color:#646cff33!important}.time-cell-dragging{border-left:3px solid #646cff;border-right:3px solid #646cff;background-color:#646cff66!important}.availability-indicator{color:#fff;z-index:2;background-color:#00000080;border-radius:3px;padding:2px 4px;font-size:.7rem;font-weight:600;position:absolute;top:2px;right:4px}.player-availability-marker{z-index:1}.timeline-event{cursor:pointer;z-index:5;background-color:#646cff;border-radius:4px;padding:4px 8px;transition:transform .2s,box-shadow .2s;position:absolute;top:2px;left:2px;right:2px;overflow:hidden;box-shadow:0 2px 4px #0003}.timeline-event:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0000004d}.event-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.event-description{color:#fffc;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:.75rem;overflow:hidden}.calendar-timeline-container::-webkit-scrollbar{width:8px;height:8px}.timeline-dates-container::-webkit-scrollbar{width:8px;height:8px}.calendar-timeline-container::-webkit-scrollbar-track{background:#1a1a1a}.timeline-dates-container::-webkit-scrollbar-track{background:#1a1a1a}.calendar-timeline-container::-webkit-scrollbar-thumb{background:#444;border-radius:4px}.timeline-dates-container::-webkit-scrollbar-thumb{background:#444;border-radius:4px}.calendar-timeline-container::-webkit-scrollbar-thumb:hover{background:#555}.timeline-dates-container::-webkit-scrollbar-thumb:hover{background:#555}.best-time-slots{background-color:#242424;border:1px solid #333;border-radius:8px;margin-top:1rem;padding:1.5rem}.best-time-slots h2{color:#fff;margin:0 0 1rem;font-size:1.5rem}.no-slots{color:#888;text-align:center;padding:1rem;font-style:italic}.slots-list{flex-direction:column;gap:.75rem;display:flex}.slot-item{background-color:#1a1a1a;border:1px solid #333;border-radius:6px;padding:1rem;transition:border-color .2s,transform .2s}.slot-item:hover{border-color:#646cff;transform:translate(4px)}.slot-header{align-items:flex-start;gap:1rem;margin-bottom:.75rem;display:flex}.slot-rank{color:#646cff;min-width:40px;font-size:1.5rem;font-weight:700}.slot-info{flex:1}.slot-datetime{color:#fff;text-transform:capitalize;margin-bottom:.25rem;font-size:1.1rem;font-weight:600}.slot-duration{color:#646cff;margin-left:.5rem;font-weight:700}.slot-players-count{color:#aaa;font-size:.9rem}.slot-players{flex-wrap:wrap;gap:.5rem;display:flex}.player-badge{color:#fff;border-radius:4px;padding:.4rem .8rem;font-size:.85rem;font-weight:500;box-shadow:0 2px 4px #0003}.profile-tab{width:100%;max-width:900px;margin:0 auto;padding:1rem}.profile-loading{text-align:center;color:#aaa;padding:3rem;font-size:1.1rem}.profile-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e1e1e99;border:1px solid #ffffff1a;border-radius:16px;padding:2rem}.profile-header{border-bottom:1px solid #ffffff1a;align-items:center;gap:1.5rem;margin-bottom:2rem;padding-bottom:1.5rem;display:flex}.profile-avatar{color:#fff;border:3px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;font-size:2.5rem;font-weight:700;display:flex;box-shadow:0 4px 12px #0000004d}.profile-title{color:#fff;margin:0;font-size:1.8rem;font-weight:600}.profile-sections{flex-direction:column;gap:1.5rem;display:flex}.profile-section{background:#14141466;border:1px solid #ffffff0d;border-radius:12px;padding:1.5rem;transition:all .3s}.profile-section:hover{border-color:#646cff4d;box-shadow:0 4px 12px #646cff1a}.section-title{color:#fff;align-items:center;gap:.75rem;margin:0 0 1.5rem;font-size:1.2rem;font-weight:600;display:flex}.section-icon{font-size:1.5rem}.profile-fields{flex-direction:column;gap:1.25rem;display:flex}.field-label{color:#aaa;text-transform:uppercase;letter-spacing:.5px;font-size:.9rem;font-weight:500}.field-input{color:#fff;background:#28282899;border:1px solid #ffffff1a;border-radius:8px;padding:.75rem 1rem;font-size:1rem;transition:all .3s}.field-input:focus{background:#282828cc;border-color:#646cff;outline:none;box-shadow:0 0 0 3px #646cff1a}.field-input:hover{border-color:#fff3}.color-picker-wrapper{align-items:center;gap:1rem;display:flex}.field-color-input{cursor:pointer;border:2px solid #fff3;border-radius:8px;width:60px;height:60px;transition:all .3s}.field-color-input:hover{border-color:#646cff;transform:scale(1.05)}.color-preview{color:#fff;text-align:center;background:#28282899;border:1px solid #ffffff1a;border-radius:8px;flex:1;padding:.75rem 1rem;font-family:monospace;font-size:.95rem}@media (max-width:768px){.profile-container{padding:1.5rem}.profile-header{text-align:center;flex-direction:column}.profile-avatar{width:60px;height:60px;font-size:2rem}.profile-title{font-size:1.5rem}.section-title{font-size:1.1rem}}.timezone-selector{width:100%;position:relative}.timezone-display{cursor:pointer;background-color:#1a1a1a;border:1px solid #333;border-radius:6px;align-items:center;gap:.75rem;padding:.75rem;transition:all .2s;display:flex}.timezone-display:hover{background-color:#242424;border-color:#646cff}.timezone-icon{font-size:1.5rem}.timezone-info{flex:1}.timezone-label{color:#888;margin-bottom:.25rem;font-size:.75rem}.timezone-value{color:#fff;font-size:.9rem;font-weight:500}.timezone-arrow{color:#888;font-size:.75rem}.timezone-dropdown{z-index:1000;background-color:#1a1a1a;border:1px solid #646cff;border-radius:8px;flex-direction:column;max-height:500px;display:flex;position:absolute;top:calc(100% + .5rem);left:0;right:0;box-shadow:0 4px 12px #0000004d}.timezone-dropdown-header{border-bottom:1px solid #333;justify-content:space-between;align-items:center;padding:1rem;display:flex}.timezone-dropdown-header h3{color:#fff;margin:0;font-size:1rem}.timezone-close{color:#888;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:1.5rem;transition:all .2s;display:flex}.timezone-close:hover{color:#fff;background-color:#333}.timezone-search{border-bottom:1px solid #333;padding:1rem}.timezone-search-input{color:#fff;background-color:#242424;border:1px solid #333;border-radius:4px;width:100%;padding:.5rem;font-size:.9rem}.timezone-search-input:focus{border-color:#646cff;outline:none}.timezone-detect-btn{color:#fff;cursor:pointer;background-color:#646cff;border:none;border-radius:4px;width:calc(100% - 2rem);margin:.5rem 1rem;padding:.5rem 1rem;font-size:.9rem;transition:all .2s}.timezone-detect-btn:hover{background-color:#535bf2}.timezone-list{flex:1;padding:.5rem;overflow-y:auto}.timezone-section-title{color:#888;text-transform:uppercase;letter-spacing:.05em;padding:.75rem .5rem .5rem;font-size:.75rem;font-weight:600}.timezone-item{cursor:pointer;border-radius:4px;justify-content:space-between;align-items:center;padding:.75rem;transition:all .2s;display:flex}.timezone-item:hover{background-color:#242424}.timezone-item.selected{background-color:#646cff33;border:1px solid #646cff}.timezone-item-label{color:#fff;font-size:.9rem}.timezone-check{color:#646cff;font-size:1.2rem;font-weight:700}.timezone-no-results{text-align:center;color:#888;padding:2rem;font-style:italic}.timezone-list::-webkit-scrollbar{width:8px}.timezone-list::-webkit-scrollbar-track{background:#1a1a1a}.timezone-list::-webkit-scrollbar-thumb{background:#333;border-radius:4px}.timezone-list::-webkit-scrollbar-thumb:hover{background:#444}.invite-manager{background:#2a2a2a;border-radius:8px;margin-top:1rem;padding:1.5rem}.invite-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.invite-header h3{color:#fff;margin:0;font-size:1.1rem}.create-invite-btn{color:#fff;cursor:pointer;background:#646cff;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.9rem;transition:background .2s}.create-invite-btn:hover{background:#535bf2}.invite-error{color:#fff;background:#ff6b6b;border-radius:6px;margin-bottom:1rem;padding:.75rem;font-size:.9rem}.create-invite-form{background:#333;border-radius:6px;margin-bottom:1rem;padding:1rem}.create-invite-form p{color:#fff;margin:0 0 .75rem}.form-actions{gap:.5rem;display:flex}.btn-primary,.btn-secondary{cursor:pointer;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.9rem;transition:all .2s}.btn-primary{color:#fff;background:#646cff}.btn-primary:hover{background:#535bf2}.btn-secondary{color:#aaa;background:0 0;border:1px solid #555}.btn-secondary:hover{color:#fff;background:#444}.invites-list{flex-direction:column;gap:.75rem;display:flex}.no-invites{color:#aaa;text-align:center;padding:2rem;font-style:italic}.invite-item{background:#333;border:1px solid #444;border-radius:6px;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.invite-item.invalid{opacity:.6}.invite-info{flex-direction:column;gap:.75rem;display:flex}.invite-code-section{align-items:stretch;gap:.5rem;display:flex}.invite-code{color:#fff;word-break:break-all;background:#1e1e1e;border-radius:4px;flex:1;align-items:center;padding:.75rem;font-family:Courier New,monospace;font-size:1rem;font-weight:600;display:flex}.copy-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#646cff;border:none;border-radius:4px;padding:.5rem 1rem;font-size:1.1rem;transition:all .2s}.copy-btn:hover{background:#535bf2}.invite-stats{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;font-size:.85rem;display:flex}.invite-stats-left{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.invite-status{text-transform:uppercase;letter-spacing:.5px;border-radius:4px;padding:.35rem .75rem;font-size:.8rem;font-weight:600}.invite-status.valid{color:#fff;background:#4caf50}.invite-status.invalid{color:#aaa;background:#666}.invite-uses{color:#aaa;font-weight:500}.invite-used-by{color:#aaa}.delete-invite-btn{color:#aaa;cursor:pointer;background:0 0;border:1px solid #555;border-radius:4px;padding:.5rem .75rem;font-size:1.1rem;transition:all .2s}.delete-invite-btn:hover{color:#fff;background:#ff6b6b;border-color:#ff6b6b}.campaign-list{max-width:1200px;margin:0 auto;padding:1rem}.campaign-list-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.campaign-list-header h2{color:#fff;margin:0;font-size:1.8rem}.create-campaign-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#646cff,#5a5fd7);border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .3s;box-shadow:0 4px 12px #646cff4d}.create-campaign-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #646cff66}.campaign-loading,.campaign-error{text-align:center;color:#aaa;padding:3rem;font-size:1.1rem}.campaign-error{color:#ff6b6b}.no-campaigns{text-align:center;background:#1e1e1e99;border:1px solid #ffffff1a;border-radius:16px;padding:4rem 2rem}.no-campaigns p{color:#aaa;margin-bottom:1.5rem;font-size:1.2rem}.create-first-campaign-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#646cff,#5a5fd7);border:none;border-radius:8px;padding:1rem 2rem;font-size:1.1rem;font-weight:600;transition:all .3s}.create-first-campaign-btn:hover{transform:scale(1.05)}.campaigns-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;display:grid}.campaign-card{cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e1e1e99;border:1px solid #ffffff1a;border-radius:16px;padding:1.5rem;transition:all .3s}.campaign-card:hover{border-color:#646cff80;transform:translateY(-4px);box-shadow:0 8px 24px #646cff33}.campaign-card-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.campaign-card-header h3{color:#fff;flex:1;margin:0;font-size:1.3rem}.campaign-status{color:#aaa;white-space:nowrap;font-size:.9rem}.campaign-description{color:#ccc;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0 0 1rem;font-size:.95rem;line-height:1.5;display:-webkit-box;overflow:hidden}.campaign-stats{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.stat{justify-content:space-between;font-size:.9rem;display:flex}.stat-label{color:#aaa}.stat-value{color:#fff;font-weight:600}.progress-bar{background:#ffffff1a;border-radius:4px;height:8px;margin-bottom:1rem;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#646cff,#5a5fd7);height:100%;transition:width .3s}.campaign-creator{color:#888;border-top:1px solid #ffffff1a;margin-top:.5rem;padding-top:.5rem;font-size:.85rem}@media (max-width:768px){.campaigns-grid{grid-template-columns:1fr}.campaign-list-header{flex-direction:column;align-items:stretch;gap:1rem}.create-campaign-btn{width:100%}}.campaign-details{max-width:1000px;margin:0 auto;padding:1rem}.back-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;margin-bottom:1.5rem;padding:.5rem 1rem;font-size:.95rem;transition:all .3s}.back-btn:hover{background:#ffffff26;transform:translate(-4px)}.loading,.error{text-align:center;color:#aaa;padding:3rem;font-size:1.1rem}.error{color:#ff6b6b}.campaign-header{background:#1e1e1e99;border:1px solid #ffffff1a;border-radius:16px;margin-bottom:2rem;padding:2rem}.campaign-title-section{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.campaign-title-section h1{color:#fff;flex:1;margin:0;font-size:2rem}.campaign-status-badge{border-top:1px solid #ffffff1a;margin-top:1.5rem;padding:1.5rem 1rem .5rem}.meta-item{gap:.5rem;display:flex}.meta-label{color:#888}.meta-value{color:#fff;font-weight:600}.milestones-section,.players-section,.history-section{background:#1e1e1e99;border:1px solid #ffffff1a;border-radius:16px;margin-bottom:2rem;padding:2rem}.milestones-section h2,.players-section h2,.history-section h2{color:#fff;margin:0 0 1.5rem;font-size:1.5rem}.milestone-details{flex-direction:column;gap:1rem;display:flex}.milestone-details p{color:#ccc;margin:0}.progress-bar-large{background:#ffffff1a;border-radius:12px;height:24px;overflow:hidden}.progress-bar-large .progress-fill{background:linear-gradient(90deg,#646cff,#5a5fd7);height:100%;transition:width .5s}.progress-percentage{text-align:center;color:#fff;font-size:1.2rem;font-weight:600}.players-list{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;display:grid}.player-card{background:#28282899;border:1px solid #ffffff1a;border-radius:12px;padding:1rem}.player-name{color:#fff;margin-bottom:.5rem;font-weight:600}.character-info{color:#ccc;margin-bottom:.5rem}.player-joined{color:#888;margin-bottom:.5rem;font-size:.85rem}.character-notes{color:#aaa;border-top:1px solid #ffffff1a;margin-top:.5rem;padding-top:.5rem;font-size:.9rem;font-style:italic}.no-games{text-align:center;color:#888;padding:2rem}.games-timeline{flex-direction:column;gap:1.5rem;display:flex}.game-entry{background:#28282899;border-left:4px solid;border-radius:12px;padding:1.5rem;transition:all .3s}.game-entry.held{border-left-color:#4ade80}.game-entry.upcoming{opacity:.7;border-left-color:#646cff}.game-entry:hover{background:#282828cc;transform:translate(4px)}.game-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.session-number{color:#fff;font-size:.95rem;font-weight:600}.game-date{color:#888;font-size:.9rem}.game-title{color:#fff;margin:0 0 1rem;font-size:1.2rem}.key-events{color:#ccc;line-height:1.6}.key-events ul{margin:.5rem 0;padding-left:1.5rem}.key-events li{margin:.25rem 0}.upcoming-note{color:#888;margin:0;font-style:italic}@media (max-width:768px){.campaign-title-section{flex-direction:column}.campaign-meta{flex-direction:column;gap:.5rem}.players-list{grid-template-columns:1fr}.game-entry{padding:1rem}}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:#1a1a1a;border:1px solid #ffffff1a;border-radius:16px;width:90%;max-width:500px;max-height:90vh;padding:2rem;overflow-y:auto;box-shadow:0 20px 60px #00000080}.modal-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.modal-header h2{color:#fff;margin:0;font-size:1.5rem}.modal-close{color:#aaa;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:2rem;transition:all .2s;display:flex}.modal-close:hover{color:#fff;background:#ffffff1a}.campaign-form{flex-direction:column;gap:1.5rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:#ccc;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;display:flex}.label-hint{color:#888;font-size:.85rem;font-weight:400}.form-group input,.form-group textarea{color:#fff;background:#28282899;border:1px solid #ffffff1a;border-radius:8px;padding:.75rem;font-family:inherit;font-size:1rem;transition:all .3s}.form-group input:focus,.form-group textarea:focus{background:#282828cc;border-color:#646cff;outline:none;box-shadow:0 0 0 3px #646cff1a}.form-group input.error,.form-group textarea.error{border-color:#ff6b6b}.form-group textarea{resize:vertical;min-height:80px}.field-hint{color:#888;font-size:.85rem}.error-message{color:#ff6b6b;font-size:.85rem}.submit-error{color:#ff6b6b;background:#ff6b6b1a;border:1px solid #ff6b6b4d;border-radius:8px;padding:.75rem;font-size:.9rem}.modal-actions{gap:1rem;margin-top:.5rem;display:flex}.btn-secondary,.btn-primary{cursor:pointer;border:none;border-radius:8px;flex:1;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .3s}.btn-secondary{color:#fff;background:#ffffff1a}.btn-secondary:hover:not(:disabled){background:#ffffff26}.btn-primary{color:#fff;background:linear-gradient(135deg,#646cff,#5a5fd7);box-shadow:0 4px 12px #646cff4d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #646cff66}.btn-secondary:disabled,.btn-primary:disabled{opacity:.5;cursor:not-allowed}@media (max-width:768px){.modal-content{width:95%;padding:1.5rem}.modal-actions{flex-direction:column}}.campaign-tab{width:100%;height:100%;overflow-y:auto}#root{width:100%;min-height:100vh;margin:0;padding:0}.app-container{box-sizing:border-box;background-color:#1a1a1a;flex-direction:column;width:100%;min-height:100vh;padding:1rem;display:flex}.player-profile{background-color:#242424;border:1px solid #333;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.player-profile h2{color:#fff;margin:0 0 1rem;font-size:1.5rem}.profile-info{flex-direction:column;gap:1rem;display:flex}.profile-field{flex-direction:column;gap:.5rem;display:flex}.profile-field label{color:#aaa;font-size:.9rem;font-weight:500}.profile-input{color:#fff;background-color:#1a1a1a;border:1px solid #444;border-radius:6px;padding:.5rem;font-family:inherit;font-size:1rem}.profile-input:focus{border-color:#646cff;outline:none}.profile-color-input{cursor:pointer;background-color:#1a1a1a;border:1px solid #444;border-radius:6px;width:100%;height:40px}.app-header{text-align:center;margin-bottom:1rem;padding-bottom:.5rem}.app-header h1{color:#fff;text-shadow:2px 2px 4px #0000004d;margin:0 0 .25rem;font-size:1.8rem}.app-subtitle{color:#aaa;margin:0;font-size:.9rem}.app-content{flex-direction:column;flex:1;gap:1rem;min-height:0;display:flex}.calendar-tab{flex-direction:column;flex:1;min-height:0;display:flex}.calendar-content{border-radius:8px;flex:1;overflow:hidden;box-shadow:0 4px 6px #0000004d}.best-slots-section{margin-top:1rem}
