button,.social-link{transition:filter .15s ease,box-shadow .15s ease,background-color .15s ease}button:hover,.social-link:hover{filter:brightness(1.13)}.toast{position:fixed;left:50%;bottom:18px;transform:translate(-50%,15px);padding:10px 16px;border-radius:999px;background:rgba(13,8,22,.95);border:1px solid rgba(164,88,229,.35);color:#eadcf8;font:12px Arial,sans-serif;opacity:0;pointer-events:none;transition:.18s;z-index:100}.toast.is-visible{opacity:1;transform:translate(-50%,0)}.modal{position:fixed;inset:0;z-index:90;opacity:0;transition:opacity .16s ease}.modal.is-open{opacity:1}.modal-backdrop{position:absolute;inset:0;border:0;background:rgba(3,1,7,.84);backdrop-filter:blur(6px);cursor:pointer}.modal-dialog{position:absolute;left:50%;top:50%;width:min(430px,calc(100vw - 32px));padding:26px;transform:translate(-50%,-47%) scale(.98);border-radius:10px;box-shadow:0 22px 80px rgba(0,0,0,.6),0 0 36px rgba(135,47,218,.18);transition:transform .16s ease}.modal.is-open .modal-dialog{transform:translate(-50%,-50%) scale(1)}.modal-close{position:absolute;right:12px;top:9px;width:34px;height:34px;border:0;background:transparent;color:#c99af1;font-size:26px;cursor:pointer}.modal-kicker{display:block;color:#9e62cc;font-size:10px;letter-spacing:1.4px;margin-bottom:10px}.modal-dialog h2{margin:0 0 12px;font-size:22px;color:#e2b8ff}.modal-dialog p{margin:0 0 16px;color:#c8bad8;font-size:14px;line-height:1.55}.modal-dialog code{display:block;padding:10px 12px;border-radius:6px;background:#08050e;border:1px solid rgba(145,80,211,.26);color:#b578e3;font-size:12px}.modal-primary{width:100%;height:40px;margin-top:18px;border:1px solid #7d35b5;border-radius:6px;background:linear-gradient(180deg,rgba(83,29,126,.66),rgba(38,13,59,.72));color:#e2c1f5;font-size:12px;font-weight:700;cursor:pointer}@media (prefers-reduced-motion:reduce){*{transition:none!important}}

body.is-modal-open{overflow:hidden}
.join-dialog{position:absolute;background:#0c0714;isolation:isolate;left:50%;top:50%;width:min(720px,calc(100vw - 32px));max-height:min(760px,calc(100vh - 32px));overflow:auto;padding:30px;transform:translate(-50%,-47%) scale(.98);border-radius:12px;box-shadow:0 24px 100px rgba(0,0,0,.68),0 0 44px rgba(135,47,218,.22);transition:transform .16s ease}
.modal.is-open .join-dialog{transform:translate(-50%,-50%) scale(1)}
.join-head{padding-right:42px}.join-head h2{margin:0 0 9px;color:#efceff;font-size:27px}.join-head p{margin:0;color:#ad9abd;font-size:13px;line-height:1.55}
.join-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}.form-field{display:grid;gap:7px}.form-field>span{font-size:11px;color:#d4b6e8;letter-spacing:.35px}.form-field input,.form-field textarea{width:100%;border:1px solid rgba(150,79,210,.36);border-radius:7px;background:rgba(7,4,13,.86);color:#f4eaff;padding:12px 13px;outline:none;resize:vertical}.form-field input:focus,.form-field textarea:focus{border-color:#b85df0;box-shadow:0 0 0 3px rgba(169,67,231,.12)}.form-field.is-invalid input,.form-field.is-invalid textarea{border-color:#e6688f}.field-error{min-height:12px;color:#ec7d9d;font-size:10px}.form-field--wide{grid-column:1/-1}.consent{display:flex;align-items:flex-start;gap:10px;color:#a898b5;font-size:11px;line-height:1.5;cursor:pointer}.consent input{accent-color:#ad4de3;margin-top:2px}.join-actions{display:flex;justify-content:flex-end;gap:10px}.join-cancel,.join-submit{min-height:42px;border-radius:7px;padding:0 19px;font-size:11px;font-weight:700;cursor:pointer}.join-cancel{border:1px solid rgba(148,82,194,.3);background:rgba(24,10,36,.6);color:#a996b8}.join-submit{border:1px solid #9f42d6;background:linear-gradient(180deg,#7630a8,#431662);color:#f5e8ff;box-shadow:0 0 20px rgba(161,55,223,.2)}.join-success{text-align:center;padding:36px 16px 12px}.success-mark{width:64px;height:64px;margin:0 auto 15px;border:1px solid rgba(191,100,244,.48);border-radius:50%;display:grid;place-items:center;color:#dc8cff;font-size:34px;box-shadow:0 0 30px rgba(172,60,237,.18)}.join-success h3{margin:0 0 10px;color:#edc9ff}.join-success p{max-width:500px;margin:0 auto 22px;color:#ad9abd;line-height:1.55;font-size:13px}
