@layer base{header,footer{font-family:var(--font-mono);letter-spacing:.05em;color:oklch(from var(--text) l c h / 55%);font-size:.75rem;line-height:1.33333}main{justify-content:center;margin-top:4rem;padding:1.5rem;display:flex}h1,h2,h3,h4{color:var(--text)}h1{letter-spacing:-.025em;font-size:1.875rem;font-weight:800;line-height:1.2}h2{font-size:1.25rem;font-weight:700;line-height:1.4}h3{font-size:1.125rem;font-weight:600;line-height:1.55556}h4{font-size:1rem;font-weight:500;line-height:1.5}p{color:oklch(from var(--text) l c h / 75%);font-size:.875rem;line-height:1.42857}*,:before,:after{box-sizing:border-box}body{min-height:100vh;font-family:var(--font-sans);color:oklch(from var(--text) l c h / 95%);background:var(--bg);transition:color .3s,background-color .3s}button{font:inherit;cursor:pointer}img{display:block}}@layer theme{:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:var(--lightningcss-light,oklch(97% .01 56))var(--lightningcss-dark,oklch(15% .01 56));--text:var(--lightningcss-light,oklch(22% 0 0))var(--lightningcss-dark,oklch(92% 0 0));--brand:oklch(70% .21 48);--border:var(--lightningcss-light,oklch(87% 0 0))var(--lightningcss-dark,oklch(27% 0 0));--font-sans:"Finlandica Headline", sans-serif;--font-mono:"JetBrains Mono", monospace;--luminance-delta:var(--lightningcss-light,-.05)var(--lightningcss-dark,.05)}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}@layer components{#brand{align-items:center;gap:.75rem;margin-bottom:2rem;display:flex}#brand .icon{background-color:var(--brand);width:2.5rem;height:2.5rem;box-shadow:oklch(from var(--brand) l c h / 20%) 0px 4px 6px -1px, oklch(from var(--brand) l c h / 20%) 0px 2px 4px -2px;border-radius:.75rem;justify-content:center;align-items:center;display:flex;overflow:hidden}#brand img{object-fit:cover;width:100%;height:100%}#brand h1{text-transform:uppercase;color:var(--brand);font-size:1.5rem;line-height:1.33333}.card{--elevation:1;background-color:oklch(from var(--bg) clamp(0, calc(l + var(--elevation) * var(--luminance-delta)), 1) c h / 40%);border:1px solid oklch(from var(--border) l c h / 80%);-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem);border-radius:1rem;width:100%;max-width:28rem;padding:2rem;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}#navbar{z-index:50;position:fixed;inset:0 0 auto}#navbar .indicator{--brand-gradient:linear-gradient(to right, oklch(from var(--brand) calc(l - .06) c h), var(--brand), oklch(from var(--brand) calc(l + .06) c h));background-color:var(--border);width:100%;height:.5rem;position:relative;overflow:hidden}#navbar .indicator:before,#navbar .indicator:after{content:"";transition:width .2s ease-out,opacity .2s ease-out;position:absolute;inset:0}#navbar .indicator[data-state=idle]:before{background:var(--brand-gradient)}#navbar .indicator[data-state=progress]:before{background:linear-gradient(to right, oklch(from var(--bg) calc(l + 4 * var(--luminance-delta)) c h), oklch(from var(--border) calc(l + var(--luminance-delta)) c h));filter:saturate(0)}#navbar .indicator[data-state=progress]:after{width:var(--progress,0%);background:var(--brand-gradient)}#navbar .indicator[data-state=pulsing]:before{background:linear-gradient(to right, oklch(from var(--brand) calc(l + .06) c h), oklch(from var(--brand) calc(l + .05) calc(c - .02) calc(h + 30)), oklch(from var(--brand) calc(l + .06) c h));width:200%;animation:1.5s linear infinite loadingSlide}#navbar>nav{justify-content:space-between;align-items:center;width:100%;max-width:80rem;height:3.5rem;margin-inline:auto;padding-inline:1.5rem;transition:color .3s,background-color .3s;display:flex}#navbar .status{text-transform:uppercase;-webkit-user-select:none;user-select:none}#navbar .navbar-actions{align-items:center;gap:.5rem;min-height:2.25rem;display:flex}#navbar .session{align-items:center;gap:1rem;animation:.3s ease-in-out forwards fadeIn;display:flex}#navbar .theme-toggle,#navbar .logout-button{color:inherit;cursor:pointer;background:0 0;border:none;border-radius:.375rem;align-items:center;gap:.375rem;padding:.375rem .625rem;font-weight:500;transition:color .3s ease-in-out,background-color .3s ease-in-out;display:flex}#navbar .theme-toggle{justify-content:center;width:2rem;height:2rem;padding:0}#navbar .theme-toggle:hover,#navbar .logout-button:hover{color:var(--brand);background-color:oklch(from var(--bg) l c h / 60%)}#navbar .theme-toggle:focus-visible,#navbar .logout-button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}#navbar .theme-toggle svg{width:1.125rem;height:1.125rem;transition:transform .3s}#navbar .theme-toggle[data-theme=light] svg{transform:rotate(180deg)}#navbar .logout-button svg{width:.875rem;height:.875rem}@media (prefers-reduced-motion:reduce){#navbar .theme-toggle svg{transition:none}}@keyframes loadingSlide{0%{transform:translate(-50%)}to{transform:translate(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.roster-member{--member-color:color-mix(in oklch, var(--left-color), var(--right-color));background:oklch(from var(--member-color,var(--bg)) l c h / 40%);border:1px solid oklch(from var(--member-color,var(--border)) l c h / 60%);cursor:grab;border-radius:.75rem;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem;transition:border-color .3s,background-color .3s;display:flex}.roster-member:hover{border-color:var(--member-color,var(--brand));background:oklch(from var(--member-color,var(--bg)) l c h / 30%)}.roster-member:active{cursor:grabbing}.content{align-items:center;gap:.625rem;min-width:0;display:flex;overflow:hidden}.drag-handle{width:1rem;height:1rem;color:oklch(from var(--text) l c h / 70%);flex-shrink:0;transition:color .15s}.roster-member:hover .drag-handle{color:oklch(from var(--text) l c h / 90%)}.name{text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:.875rem;font-weight:600;overflow:hidden}.weapons{flex-wrap:wrap;gap:.375rem;margin-top:.375rem;display:flex}.weapon{--weapon-color:var(--user-weapon-color,var(--lightningcss-light,oklch(40% 0 0))var(--lightningcss-dark,oklch(60% 0 0)));font-family:var(--font-mono);color:oklch(from var(--text) l c h / 80%);border:1px solid;border-color:oklch(from var(--weapon-color) l c h / 40%);background:oklch(from var(--bg) l c h / 60%);border-radius:.375rem;align-items:center;gap:.25rem;padding:.125rem .5rem;font-size:.625rem;font-weight:600;display:inline-flex}.weapon img{object-fit:contain;-webkit-user-select:none;user-select:none;flex-shrink:0;width:.75rem;height:.75rem}.edit-button{border:1px solid oklch(from var(--member-color,var(--border)) l c h / 40%);background:oklch(from var(--bg) l c h / 60%);color:oklch(from var(--text) l c h / 80%);cursor:pointer;border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;padding:.375rem;transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out;display:flex}.edit-button:hover{color:var(--brand);border-color:var(--brand);background:oklch(from var(--bg) l c h / 30%)}.edit-button svg{width:1rem;height:1rem}.welcome-hero{margin-bottom:2rem}.welcome-hero>:not(:last-child){margin-block:.5rem}.welcome-hero p{line-height:1.625}.welcome-discord-login{cursor:pointer;text-align:center;color:#fff;background-color:oklch(57% .21 274);border-radius:.75rem;justify-content:center;align-items:center;gap:.75rem;width:100%;padding-block:.75rem;padding-inline:1.25rem;text-decoration:none;transition:background-color .3s ease-in-out;display:flex;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.welcome-discord-login:hover{background-color:oklch(47% .16 274)}.welcome-discord-login span{letter-spacing:.025em;font-size:.875rem;font-weight:600;line-height:1.42857}.welcome-discord-login svg{width:1.25rem;height:1.25rem}.login-error-hint{color:color-mix(in oklch, var(--text) 65%, var(--bg));font-size:.875rem;line-height:1.625}#wrapper{flex-direction:column;min-height:100vh;display:flex}#wrapper>footer{-webkit-user-select:none;user-select:none;text-align:center;padding-block:1.5rem}.group-display{background-color:oklch(from var(--bg) clamp(0, calc(l + var(--luminance-delta)), 1) c h / 20%);border:1px solid oklch(from var(--border) l c h / 40%);border-radius:1rem;flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.group-header{border-bottom:1px solid oklch(from var(--border) l c h / 30%);justify-content:space-between;align-items:center;margin-bottom:.5rem;padding-bottom:.75rem;display:flex}.group-title{color:oklch(from var(--text) l c h / 80%);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.5rem;font-size:.875rem;font-weight:900;display:flex}.group-title:before{content:"";background-color:var(--brand);border-radius:50%;width:.375rem;height:.375rem}.group-count{font-family:var(--font-mono);color:oklch(from var(--text) l c h / 50%);font-size:.75rem}.teams-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr));gap:1.5rem;width:100%;display:grid}.team-display{background-color:oklch(from var(--bg) clamp(0, calc(l + var(--luminance-delta)), 1) c h / 15%);border:1px solid oklch(from var(--border) l c h / 35%);border-radius:1rem;flex-direction:column;min-height:11rem;transition:border-color .2s;display:flex;overflow:hidden}.team-header{background-color:oklch(from var(--bg) clamp(0, calc(l + 2 * var(--luminance-delta)), 1) c h / 40%);border-bottom:1px solid oklch(from var(--border) l c h / 30%);justify-content:space-between;align-items:center;padding:.875rem 1rem;display:flex}.team-title{color:oklch(from var(--text) l c h / 90%);letter-spacing:.025em;font-size:.875rem;font-weight:700}.team-limit{font-family:var(--font-mono);color:oklch(from var(--text) l c h / 60%);background-color:oklch(from var(--bg) clamp(0, calc(l + 3 * var(--luminance-delta)), 1) c h / 60%);border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:700}.team-content{flex-direction:column;flex:1;gap:.75rem;padding:1rem;display:flex}.team-empty-placeholder{text-align:center;color:oklch(from var(--text) l c h / 45%);border:1px dashed oklch(from var(--border) l c h / 40%);background-color:oklch(from var(--bg) clamp(0, calc(l - var(--luminance-delta)), 1) c h / 10%);-webkit-user-select:none;user-select:none;border-radius:.75rem;padding:2rem 1rem;font-size:.75rem}#event-view{flex-direction:column;gap:1.5rem;max-width:80rem;margin-inline:auto;padding:2rem 1rem;display:flex}.view-header{border-bottom:1px solid oklch(from var(--border) l c h / 30%);flex-direction:column;gap:1rem;padding-bottom:1.25rem;display:flex}@media (width>=48rem){.view-header{flex-direction:row;justify-content:space-between;align-items:center}}.header-title-section{align-items:flex-start;gap:1rem;min-width:0;display:flex}.back-button{border:1px solid oklch(from var(--border) l c h / 60%);width:auto;color:oklch(from var(--text) l c h / 70%);background:0 0;border-radius:.75rem;flex:none;justify-content:center;align-items:center;padding:.625rem;transition:all .2s;display:flex}.back-button:hover{background-color:oklch(from var(--bg) clamp(0, calc(l + var(--luminance-delta)), 1) c h / 40%);color:var(--text)}.back-button svg{width:1.25rem;height:1.25rem}.header-title-section h1{text-transform:uppercase;letter-spacing:.05em;color:var(--text);overflow-wrap:anywhere;font-size:1.5rem;font-weight:900}.header-subtitle{font-size:.75rem;font-family:var(--font-mono);color:oklch(from var(--text) l c h / 50%);align-items:center;gap:.375rem;margin-top:.25rem;display:flex}.header-subtitle svg{width:.875rem;height:.875rem}.roster-workspace{flex-direction:column;gap:2rem;width:100%;display:flex}.roster-panel,.roster-group-list{min-width:0}.roster-group-list{flex-direction:column;gap:1.5rem;margin-top:1.5rem;display:flex}@media (width>=72rem){.roster-workspace{grid-template-columns:minmax(0,1fr) minmax(16rem,20rem);align-items:start;display:grid}.bench-panel{position:sticky;top:1rem}}.section-label{color:oklch(from var(--text) l c h / 90%);align-items:center;gap:.5rem;font-size:1.125rem;font-weight:700;display:flex}.section-label svg{width:1.25rem;height:1.25rem;color:oklch(from var(--text) l c h / 40%)}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:oklch(0% 0 0/.75);justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-card{background-color:oklch(from var(--bg) clamp(0, calc(l + var(--luminance-delta)), 1) c h);border:1px solid oklch(from var(--border) l c h / 80%);border-radius:1rem;width:100%;max-width:28rem;animation:.15s cubic-bezier(.16,1,.3,1) forwards modalSlideIn;overflow:hidden;box-shadow:0 20px 25px -5px #0000004d,0 8px 10px -6px #0000004d}.modal-header{background-color:oklch(from var(--bg) clamp(0, calc(l + 2 * var(--luminance-delta)), 1) c h / 50%);border-bottom:1px solid oklch(from var(--border) l c h / 30%);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.modal-header h3{text-transform:uppercase;letter-spacing:.05em;color:var(--text);font-size:.875rem;font-weight:700}.modal-close-button{color:oklch(from var(--text) l c h / 50%);background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1.5rem;display:flex}.modal-close-button:hover{color:var(--text);background-color:oklch(from var(--bg) clamp(0, calc(l + 3 * var(--luminance-delta)), 1) c h / 40%)}.modal-body{flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.modal-form-group{flex-direction:column;gap:.5rem;display:flex}.modal-form-group label{text-transform:uppercase;letter-spacing:.05em;color:oklch(from var(--text) l c h / 50%);font-size:.75rem;font-weight:700}.modal-static-value{background-color:oklch(from var(--bg) clamp(0, calc(l - var(--luminance-delta)), 1) c h / 30%);border:1px solid oklch(from var(--border) l c h / 40%);color:var(--text);border-radius:.75rem;padding:.625rem 1rem;font-size:.875rem;font-weight:600}.modal-select{background-color:oklch(from var(--bg) clamp(0, calc(l - var(--luminance-delta)), 1) c h / 30%);border:1px solid oklch(from var(--border) l c h / 40%);width:100%;color:var(--text);border-radius:.75rem;outline:none;padding:.625rem 1rem;font-size:.875rem;transition:border-color .2s}.modal-select:focus{border-color:var(--brand)}.modal-footer{background-color:oklch(from var(--bg) clamp(0, calc(l + 2 * var(--luminance-delta)), 1) c h / 50%);border-top:1px solid oklch(from var(--border) l c h / 30%);justify-content:flex-end;align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}.admin-links{gap:.5rem;display:flex}.admin-button{border:1px solid oklch(from var(--border) l c h / 60%);width:auto;color:oklch(from var(--text) l c h / 70%);cursor:pointer;background:0 0;border-radius:.75rem;flex:none;padding:.5rem .875rem;font-size:.8125rem;font-weight:600}.admin-button:hover{border-color:var(--brand);color:var(--text)}.modal-error{color:oklch(60% .2 25);padding:0 1.5rem;font-size:.875rem;font-weight:600}.button-secondary{background-color:oklch(from var(--bg) clamp(0, calc(l + 2 * var(--luminance-delta)), 1) c h / 60%);border:1px solid oklch(from var(--border) l c h / 60%);color:oklch(from var(--text) l c h / 80%);border-radius:.75rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s}.button-secondary:hover{background-color:oklch(from var(--bg) clamp(0, calc(l + var(--luminance-delta)), 1) c h / 30%);color:var(--text)}.button-primary{background-color:var(--brand);border:1px solid oklch(from var(--brand) calc(l - .05) c h);color:#fff;box-shadow:oklch(from var(--brand) l c h / 20%) 0px 4px 6px -1px;border-radius:.75rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s}.button-primary:hover{background-color:oklch(from var(--brand) calc(l + .05) c h)}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}}@layer layout;
