:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}#root{max-width:960px;margin:0 auto;padding:2rem;text-align:center}.app-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.app h1{margin:0;font-size:2rem;color:#e0e0e0}.user-bar{display:flex;align-items:center;gap:.75rem}.user-nick{font-size:.95rem;color:#818cf8;font-weight:600}.btn{border:none;border-radius:.5rem;padding:.6em 1.4em;cursor:pointer;font-weight:600;font-size:.95rem;transition:background .2s,opacity .2s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:#535bf2;color:#fff;width:100%;margin-top:.5rem}.btn--primary:hover:not(:disabled){background:#4349d4}.btn--secondary{background:#3a3a5c;color:#e0e0ff}.btn--secondary:hover{background:#4a4a6c}.btn--link{background:none;color:#88a;font-size:.85rem;padding:.4em;width:100%;margin-top:.25rem}.btn--link:hover{color:#818cf8}.login-card{background:#2a2a4a;border-radius:1rem;padding:2rem;max-width:400px;margin:0 auto 2rem;text-align:left}.login-card h2{margin:0 0 1.25rem;font-size:1.3rem;color:#e0e0ff;text-align:center}.login-card label{display:block;font-size:.85rem;color:#88a;margin-bottom:.35rem}.login-card input{width:100%;padding:.7em .9em;border:2px solid #3a3a5c;border-radius:.5rem;background:#1e1e3a;color:#e0e0ff;font-size:1rem;margin-bottom:.75rem;box-sizing:border-box;transition:border-color .2s}.login-card input:focus{outline:none;border-color:#535bf2}.login-card input::placeholder{color:#555}.login-info{font-size:.9rem;color:#a0a0c0;margin:0 0 1rem;text-align:center}.login-info strong{color:#818cf8}.login-error{margin:.75rem 0 0;padding:.6em .9em;background:#ef444426;border-radius:.5rem;color:#f87171;font-size:.85rem;text-align:center}.cloud{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;padding:2rem}.cloud-btn{border:none;border-radius:2rem;padding:.6em 1.4em;cursor:pointer;font-weight:600;color:#fff;background:#3a3a5c;transition:transform .2s,background .2s,box-shadow .2s}.cloud-btn:hover{transform:scale(1.1);background:#535bf2;box-shadow:0 0 12px #535bf280}.cloud-btn--active{background:#535bf2;box-shadow:0 0 16px #535bf2b3;transform:scale(1.12)}.cloud-btn--sm{font-size:.85rem}.cloud-btn--md{font-size:1.1rem}.cloud-btn--lg{font-size:1.45rem}.cloud-btn--xl{font-size:1.85rem}.selection{margin-top:2rem;font-size:1.25rem;color:#a0a0c0}.events{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;padding:1rem 0;margin-bottom:2rem}.event-card{background:#2a2a4a;border-radius:1rem;padding:1.25rem;text-align:left;border-left:4px solid #535bf2;transition:transform .2s,box-shadow .2s}.event-card--clickable{cursor:pointer}.event-card-link{text-decoration:none;color:inherit;display:block}.title-link{text-decoration:none;color:inherit}.title-link:hover{color:#818cf8}.event-card--private{border-left-color:#f59e0b}.event-card:hover{transform:translateY(-4px);box-shadow:0 4px 20px #535bf24d}.event-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.5rem}.event-name{margin:0;font-size:1.05rem;color:#e0e0ff}.event-badge{font-size:.7rem;font-weight:700;text-transform:uppercase;padding:.2em .6em;border-radius:1rem;white-space:nowrap}.event-badge--public{background:#535bf233;color:#818cf8}.event-badge--private{background:#f59e0b33;color:#f59e0b}.event-date{margin:0 0 .75rem;font-size:.85rem;color:#88a}.event-details{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.event-sport,.event-venue{font-size:.8rem;padding:.2em .6em;border-radius:.5rem;background:#1e1e3a;color:#a0a0c0}.event-footer{display:flex;justify-content:space-between;align-items:center;font-size:.85rem}.event-participants{color:#88a}.event-cost{font-weight:700;color:#34d399}.venues{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;padding:1rem 0}.venue-card{background:#2a2a4a;border-radius:1rem;padding:1.25rem;text-align:left;transition:transform .2s,box-shadow .2s}.venue-card:hover{transform:translateY(-4px);box-shadow:0 4px 20px #535bf24d}.venue-name{margin:0 0 .5rem;font-size:1.1rem;color:#e0e0ff}.venue-address{margin:0 0 .25rem;font-size:.9rem;color:#88a}.venue-capacity{margin:0;font-size:.85rem;color:#535bf2;font-weight:600}.nav-tabs{display:flex;gap:.25rem}.nav-tab{border:none;background:none;color:#88a;font-size:.9rem;font-weight:600;padding:.4em .8em;border-radius:.5rem;cursor:pointer;transition:background .2s,color .2s}.nav-tab:hover{color:#e0e0ff;background:#3a3a5c}.nav-tab--active{color:#818cf8;background:#535bf226}.profile-info{background:#2a2a4a;border-radius:1rem;padding:1.25rem 1.5rem;text-align:left;margin-bottom:2rem}.profile-info p{margin:.3rem 0;font-size:.95rem;color:#a0a0c0}.profile-info strong{color:#e0e0ff}.profile h2{font-size:1.4rem;color:#e0e0e0;margin-bottom:1rem}.event-badges{display:flex;gap:.35rem;flex-wrap:wrap}.event-badge--role{font-size:.65rem}.event-badge--admin{background:#8b5cf633;color:#a78bfa}.event-badge--player{background:#34d39933;color:#34d399}.event-badge--confirmed{background:#34d39926;color:#34d399}.event-badge--invited{background:#fbbf2426;color:#fbbf24}.event-badge--reserve{background:#60a5fa26;color:#60a5fa}.create-event-card{background:#2a2a4a;border-radius:1rem;padding:2rem;max-width:520px;margin:0 auto 2rem;text-align:left}.create-event-card h2{margin:0 0 1.25rem;font-size:1.3rem;color:#e0e0ff;text-align:center}.create-event-card label{display:block;font-size:.85rem;color:#88a;margin-bottom:.35rem}.create-event-card input[type=text],.create-event-card input[type=number],.create-event-card input[type=datetime-local],.create-event-card select{width:100%;padding:.7em .9em;border:2px solid #3a3a5c;border-radius:.5rem;background:#1e1e3a;color:#e0e0ff;font-size:1rem;margin-bottom:.75rem;box-sizing:border-box;transition:border-color .2s}.create-event-card input:focus,.create-event-card select:focus{outline:none;border-color:#535bf2}.create-event-card select{appearance:none;cursor:pointer}.create-event-card input::placeholder{color:#555}.form-row{display:flex;gap:1rem}.form-field{flex:1}.checkbox-label{display:flex!important;align-items:center;gap:.5rem;font-size:.95rem!important;color:#e0e0ff!important;margin-bottom:.75rem;cursor:pointer}.checkbox-label input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:#535bf2;cursor:pointer}.form-success{margin:.75rem 0 0;padding:.6em .9em;background:#34d39926;border-radius:.5rem;color:#34d399;font-size:.85rem;text-align:center}.event-detail{text-align:left}.back-link{text-align:left!important;width:auto!important;margin-bottom:1rem;font-size:.95rem!important}.detail-card{background:#2a2a4a;border-radius:1rem;padding:2rem}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.detail-header h2{margin:0;font-size:1.5rem;color:#e0e0ff}.event-badge--lg{font-size:.8rem;padding:.3em .8em}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}@media(max-width:600px){.detail-grid{grid-template-columns:1fr}}.detail-section h3{margin:0 0 .75rem;font-size:1rem;color:#818cf8;border-bottom:1px solid #3a3a5c;padding-bottom:.4rem}.detail-list{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.3rem 1rem}.detail-list dt{color:#88a;font-size:.85rem}.detail-list dd{margin:0;color:#e0e0ff;font-size:.9rem}.detail-people{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media(max-width:600px){.detail-people{grid-template-columns:1fr}}.detail-empty{color:#88a;font-size:.9rem;margin:0}.people-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.person-chip{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.5rem .75rem;border-radius:.5rem;background:#1e1e3a}.person-chip--admin{border-left:3px solid #a78bfa}.person-chip--player{border-left:3px solid #34d399}.person-nick{font-weight:600;color:#e0e0ff;font-size:.9rem}.person-name{color:#88a;font-size:.8rem}.person-status{margin-left:auto;font-size:.7rem;font-weight:700;text-transform:uppercase;padding:.15em .5em;border-radius:.75rem}.person-status--confirmed{background:#34d39926;color:#34d399}.person-status--invited{background:#fbbf2426;color:#fbbf24}.person-status--reserve{background:#60a5fa26;color:#60a5fa}.invite-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #3a3a5c}.invite-section h3{margin:0 0 .75rem;font-size:1rem;color:#818cf8}.invite-form{display:flex;gap:.75rem;align-items:flex-start}.invite-form input{flex:1;padding:.7em .9em;border:2px solid #3a3a5c;border-radius:.5rem;background:#1e1e3a;color:#e0e0ff;font-size:1rem;box-sizing:border-box;transition:border-color .2s}.invite-form input:focus{outline:none;border-color:#535bf2}.invite-form input::placeholder{color:#555}.invite-btn{width:auto!important;white-space:nowrap;margin-top:0!important}.confirm-section{margin-top:1.5rem;padding:1.25rem;border-top:1px solid #3a3a5c;text-align:center}.confirm-section p{margin:0 0 .75rem;color:#a0a0c0;font-size:.95rem}.btn--confirm{background:#34d399;color:#1e1e3a;font-weight:700;padding:.7em 2em}.btn--confirm:hover:not(:disabled){background:#2cc48a}.btn--resign{background:#ef4444;color:#fff;font-weight:700;padding:.7em 2em}.btn--resign:hover:not(:disabled){background:#dc2626}.btn--join{background:#535bf2;color:#fff;font-weight:700;padding:.7em 2em}.btn--join:hover:not(:disabled){background:#4349d6}.confirm-message{font-weight:600;padding:.6em .9em;border-radius:.5rem;font-size:.9rem}.confirm-message--confirmed{background:#34d39926;color:#34d399}.confirm-message--reserve{background:#60a5fa26;color:#60a5fa}.login-prompt{text-align:center;padding:3rem 1rem;color:#a0a0c0;font-size:1.1rem}.login-prompt p{margin:.3rem 0}
