@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.8e0177b5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.b97b3418.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.853070df.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.c1fdd6c2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.799d8ef8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.dbea232f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
:root{--background:#fff;--foreground:#111;--secondary:#666;--tertiary:#999;--border:#e0e0e0;--border-light:#eaeaea;--card-bg:#f9f9f9;--input-bg:#fff;--hover-bg:#f5f5f5;--hover-color:#c8102e}[data-theme=dark]{--background:#0a0a0a;--foreground:#ededed;--secondary:#a0a0a0;--tertiary:#707070;--border:#2a2a2a;--border-light:#1a1a1a;--card-bg:#141414;--input-bg:#1a1a1a;--hover-bg:#1f1f1f;--hover-color:#c8102e}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--background);max-width:100vw;color:var(--foreground);-webkit-font-smoothing:antialiased;font-family:Inter,sans-serif;transition:background-color .3s,color .3s;overflow-x:hidden}a{color:inherit;text-decoration:none}.main-container{flex-direction:column;gap:4rem;min-height:100vh;padding:4rem;display:flex;position:relative}@media (min-width:1024px){.main-container{flex-direction:row;align-items:flex-start}}.content-wrapper{z-index:1;flex-direction:column;flex:1;gap:4rem;display:flex;position:relative}.graph-section{opacity:.85;z-index:1;flex-direction:column;flex:1;gap:1rem;max-width:600px;display:flex;position:relative}.network-graph-container{background:var(--input-bg);border:1px solid var(--border);border-radius:8px;position:relative;overflow:hidden}.header-section{flex-direction:column;gap:1.5rem;max-width:800px;display:flex}.title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2rem;display:flex}.title{letter-spacing:-.02em;font-size:2.5rem;font-weight:500}.github-link{background:var(--foreground);color:var(--background);border-radius:6px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-family:Inter,sans-serif;font-size:.9rem;font-weight:500;text-decoration:none;transition:opacity .2s;display:flex}.github-link:hover{background:var(--hover-color)}.description{color:var(--secondary);flex-direction:column;gap:1rem;font-size:1rem;line-height:1.6;display:flex}.join-link{cursor:pointer;color:#fff;vertical-align:middle;background:#c8102e;border:none;border-radius:6px;padding:.35rem .85rem;font-family:inherit;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .2s,transform .1s;display:inline-block}.join-link:hover{background:#a00d24}.join-link:active{transform:scale(.97)}.search-bar-container{background:var(--input-bg);border:1px solid var(--border);color:var(--secondary);border-radius:8px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.search-input{color:var(--foreground);background:0 0;border:none;outline:none;flex:1;font-family:Inter,sans-serif;font-size:.95rem}.search-input::placeholder{color:var(--tertiary)}.search-clear-btn{color:var(--secondary);cursor:pointer;background:0 0;border:none;padding:.25rem .5rem;font-size:.85rem;transition:color .2s}.search-clear-btn:hover{color:var(--foreground)}.search-results-info{color:var(--secondary);margin-bottom:1rem;font-size:.9rem;font-weight:500}.members-table-container{width:100%;overflow-x:auto}.members-table{border-collapse:collapse;text-align:left;table-layout:fixed;width:100%}.members-table th{color:var(--foreground);padding-bottom:1.5rem;padding-right:1rem;font-size:1.2rem;font-weight:500}.members-table th:first-child{width:28%}.members-table th:nth-child(2){width:25%}.members-table th:nth-child(3){width:27%}.members-table th:nth-child(4){width:20%;padding-left:1rem}.members-table td{color:var(--foreground);vertical-align:middle;padding:1rem 1rem 1rem 0;font-size:1rem}.members-table td:nth-child(4){padding-left:1rem;padding-right:2rem}.user-cell{align-items:center;gap:.75rem;display:flex}.avatar{object-fit:cover;filter:grayscale();border-radius:50%;flex-shrink:0;width:32px;min-width:32px;height:32px;min-height:32px;transition:filter .3s;overflow:hidden}.avatar-highlighted{filter:grayscale(0%)!important}.members-table tbody tr:hover .avatar{filter:grayscale(0%)}.site-link{color:var(--foreground);transition:opacity .2s}.site-link:hover{color:var(--hover-color)}.name-link{color:var(--foreground);text-decoration:none;transition:opacity .2s}.name-link:hover{color:var(--hover-color)}.table-placeholder{color:var(--tertiary);font-size:.9rem}.social-icons{align-items:center;gap:.5rem;min-height:20px;padding:.25rem 0;display:flex}.social-icon-link{color:var(--foreground);flex-shrink:0;justify-content:center;align-items:center;padding:.25rem;line-height:1;text-decoration:none;transition:opacity .2s;display:inline-flex}.social-icon-link svg{stroke:none!important;fill:currentColor!important;width:16px!important;height:16px!important;display:block!important}.social-icon-link:hover{color:var(--hover-color)}[data-theme=dark] .social-icon-link svg{stroke:var(--foreground)!important}.ascii-art-background{z-index:0;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.08;transform-origin:100% 100%;position:fixed;bottom:-20%;right:-45%;overflow:hidden;transform:scale(2.2)}[data-theme=dark] .ascii-art-background{opacity:.15}.ascii-art-background pre{white-space:pre;color:var(--foreground);letter-spacing:normal;margin:0;padding:0;font-family:Courier New,Courier,monospace;font-size:8px;font-weight:400;line-height:normal}@media (max-width:768px){.main-container{gap:2rem;padding:2rem}.content-wrapper{gap:2rem}.title{font-size:1.8rem}.title-row{flex-direction:column;align-items:flex-start;gap:1rem}.graph-section{max-width:100%}.members-table{table-layout:auto}.members-table th,.members-table td{padding-right:1rem;font-size:.9rem}.members-table th{padding-bottom:1rem;font-size:1rem}.ascii-art-background{opacity:.06;transform:scale(1.8)}.ascii-art-background pre{font-size:6px}}@media (max-width:480px){.main-container{gap:1.5rem;padding:1.25rem}.content-wrapper{gap:1.5rem}.title{font-size:1.5rem}.description{font-size:.9rem}.github-link{padding:.4rem .8rem;font-size:.8rem}.members-table th:nth-child(3),.members-table td:nth-child(3){display:none}.members-table th,.members-table td{padding:.75rem .5rem .75rem 0;font-size:.85rem}.members-table th:first-child,.members-table td:first-child{padding-left:.25rem}.members-table th{padding-bottom:.75rem;font-size:.9rem}.members-table th:nth-child(4),.members-table td:nth-child(4){padding-left:.5rem;padding-right:.25rem}.avatar{width:28px;min-width:28px;height:28px;min-height:28px}.user-cell{gap:.5rem}.search-bar-container{padding:.6rem .8rem}.search-input{font-size:.9rem}.ascii-art-background{opacity:.05;bottom:0%;right:-60%;transform:scale(2.2)}.ascii-art-background pre{font-size:5px}[data-theme=dark] .ascii-art-background{opacity:.1}}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:flex-start;padding:3rem 1rem;animation:.2s fadeIn;display:flex;position:fixed;inset:0;overflow-y:auto}[data-theme=dark] .modal-overlay{background:#000000b3}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-content{background:var(--background);border:1px solid var(--border);border-radius:16px;width:100%;max-width:560px;padding:2.5rem;animation:.25s slideUp;position:relative;box-shadow:0 25px 50px -12px #00000040}.modal-close{cursor:pointer;color:var(--secondary);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.25rem;transition:color .2s,background .2s;display:flex;position:absolute;top:1.25rem;right:1.25rem}.modal-close:hover{color:var(--foreground);background:var(--hover-bg)}.modal-header{margin-bottom:2rem}.modal-header h2{letter-spacing:-.02em;margin-bottom:.5rem;font-size:1.75rem;font-weight:500}.join-form{flex-direction:column;gap:2.5rem;display:flex}.form-section{flex-direction:column;gap:1.25rem;display:flex}.form-section h3{color:var(--foreground);border-bottom:1px solid var(--border);padding-bottom:.5rem;font-size:1.05rem;font-weight:500}.section-hint{color:var(--tertiary);margin-top:-.5rem;font-size:.85rem}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-group label{color:var(--foreground);font-size:.9rem;font-weight:500}.required{color:#c8102e}.form-group input,.form-group select{background:var(--input-bg);color:var(--foreground);border:1px solid var(--border);border-radius:8px;outline:none;padding:.75rem 1rem;font-family:Inter,sans-serif;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus{border-color:var(--hover-color);box-shadow:0 0 0 3px #c8102e1a}.form-group input::placeholder{color:var(--tertiary)}.form-hint{color:var(--tertiary);font-size:.8rem;line-height:1.4}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.submit-btn{background:var(--foreground);color:var(--background);cursor:pointer;border:none;border-radius:8px;margin-top:.5rem;padding:.9rem 2rem;font-family:Inter,sans-serif;font-size:1rem;font-weight:500;transition:background .2s,transform .1s}.submit-btn:hover:not(:disabled){background:var(--hover-color)}.submit-btn:active:not(:disabled){transform:scale(.98)}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.form-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:.75rem 1rem;font-size:.9rem}[data-theme=dark] .form-error{color:#fca5a5;background:#2d1515;border-color:#5a2020}.success-card{text-align:center;padding:4rem 2rem}.success-icon{margin-bottom:1.5rem;font-size:4rem}.success-card h1{margin-bottom:1rem;font-size:2rem;font-weight:500}.success-card p{color:var(--secondary);margin-bottom:2rem;font-size:1rem;line-height:1.6}.photo-upload-area{align-items:center;gap:1rem;display:flex}.photo-preview{background:var(--hover-bg);border:1px solid var(--border);border-radius:50%;flex-shrink:0;width:56px;min-width:56px;height:56px;overflow:hidden}.photo-preview-img{object-fit:cover;width:100%;height:100%}.photo-preview-placeholder{background:var(--hover-bg);width:100%;height:100%}.photo-upload-controls{flex-direction:column;gap:.35rem;display:flex}.file-upload-btn{color:#fff;cursor:pointer;background:#c8102e;border:1px solid #c8102e;border-radius:6px;width:fit-content;padding:.45rem .9rem;font-family:Inter,sans-serif;font-size:.88rem;font-weight:500;transition:all .15s;display:inline-block}.file-upload-btn:hover{background:#a00d24;border-color:#a00d24}.file-info{color:var(--secondary);font-size:.8rem}.file-error{color:#dc2626;font-size:.8rem}[data-theme=dark] .file-error{color:#fca5a5}@media (max-width:480px){.modal-overlay{padding:1rem}.modal-content{border-radius:12px;padding:1.75rem}.modal-header h2{font-size:1.4rem}.form-row{grid-template-columns:1fr}}.admin-page{background:var(--background);min-height:100vh;color:var(--foreground);justify-content:center;padding:3rem 2rem;font-family:Inter,sans-serif;display:flex}.admin-login{text-align:center;margin-top:20vh}.admin-login h1{margin-bottom:1.5rem;font-size:3rem}.admin-login form{justify-content:center;gap:.5rem;display:flex}.admin-password-input{background:var(--input-bg);color:var(--foreground);border:1px solid var(--border);border-radius:8px;outline:none;width:220px;padding:.65rem 1rem;font-family:Inter,sans-serif;font-size:.95rem;transition:border-color .2s}.admin-password-input:focus{border-color:var(--hover-color)}.admin-login-btn{background:var(--foreground);color:var(--background);cursor:pointer;border:none;border-radius:8px;padding:.65rem 1.25rem;font-family:Inter,sans-serif;font-size:.9rem;font-weight:500;transition:background .2s}.admin-login-btn:hover:not(:disabled){background:var(--hover-color)}.admin-error{color:#dc2626;margin-top:.75rem;font-size:.85rem}.admin-container{width:100%;max-width:900px}.admin-header{align-items:baseline;gap:1rem;margin-bottom:2rem;display:flex}.admin-header h1{font-size:1.75rem;font-weight:500}.admin-count{color:var(--secondary);font-size:.9rem}.admin-empty{text-align:center;color:var(--secondary);padding:4rem 2rem;font-size:1.1rem}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;text-align:left;width:100%}.admin-table th{text-transform:uppercase;letter-spacing:.05em;color:var(--secondary);border-bottom:1px solid var(--border);padding:.75rem 1rem .75rem 0;font-size:.8rem;font-weight:500}.admin-table td{border-bottom:1px solid var(--border-light);vertical-align:middle;padding:1rem 1rem 1rem 0;font-size:.95rem}.admin-table tbody tr:hover{background:var(--hover-bg)}.admin-name{font-weight:500}.admin-link{color:var(--hover-color);text-decoration:none}.admin-link:hover{text-decoration:underline}.admin-date{color:var(--secondary);font-size:.85rem}.admin-actions{gap:.4rem;display:flex}.admin-btn{border:1px solid var(--border);cursor:pointer;background:var(--input-bg);width:32px;height:32px;color:var(--foreground);border-radius:6px;justify-content:center;align-items:center;font-size:.9rem;transition:all .15s;display:flex}.admin-btn:disabled{opacity:.3;cursor:not-allowed}.admin-btn-approve:hover:not(:disabled){color:#fff;background:#16a34a;border-color:#16a34a}.admin-btn-reject:hover:not(:disabled){color:#fff;background:#dc2626;border-color:#dc2626}@media (max-width:640px){.admin-page{padding:1.5rem 1rem}.admin-table th,.admin-table td{padding:.6rem .5rem .6rem 0;font-size:.85rem}}.admin-tabs{gap:.25rem;margin-left:auto;display:flex}.admin-tab{border:1px solid var(--border);cursor:pointer;color:var(--secondary);background:0 0;border-radius:6px;padding:.4rem .9rem;font-family:Inter,sans-serif;font-size:.85rem;transition:all .15s}.admin-tab:hover{color:var(--foreground)}.admin-tab.active{background:var(--foreground);color:var(--background);border-color:var(--foreground)}.admin-btn-edit:hover:not(:disabled){background:var(--hover-color);border-color:var(--hover-color);color:#fff}.edit-form{flex-direction:column;gap:1rem;display:flex}.edit-actions{gap:.75rem;margin-top:.5rem;display:flex}.admin-cancel-btn{border:1px solid var(--border);cursor:pointer;color:var(--secondary);background:0 0;border-radius:8px;padding:.75rem 1.5rem;font-family:Inter,sans-serif;font-size:.95rem;transition:all .15s}.admin-cancel-btn:hover{color:var(--foreground);border-color:var(--foreground)}
