:root{--ink:#f4f8ff;--muted:#93a4bd;--panel:#0b1524;--line:rgba(255,255,255,.1);--accent:#64e6ff;--accent2:#7d5cff;--danger:#ff627b;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;background:#050a12;color:var(--ink);font-size:16px}
button,input,textarea,select{font:inherit}
button,a{ -webkit-tap-highlight-color:transparent}
.topbar{height:72px;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:rgba(5,10,18,.86);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:white;font-weight:800;font-size:1.25rem}
.brand>span:last-child span,.mini-brand span{color:var(--accent)}
.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#07111f}
.topbar-actions{display:flex;align-items:center;gap:18px}
.save-state{font-size:.82rem;color:var(--muted)}
.primary,.secondary,.add-link{border:0;cursor:pointer;border-radius:14px;font-weight:750;text-decoration:none;text-align:center}
.primary{color:#061019;background:linear-gradient(135deg,var(--accent),#9c8cff);box-shadow:0 10px 30px rgba(100,230,255,.18)}
.primary.compact{padding:11px 18px}
.builder-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(390px,.8fr);min-height:calc(100vh - 72px)}
.editor-panel{padding:64px clamp(28px,6vw,100px) 90px;border-right:1px solid var(--line);background:radial-gradient(circle at 10% 0%,rgba(57,88,255,.13),transparent 28%)}
.intro{max-width:660px;margin-bottom:52px}
.eyebrow{color:var(--accent)!important;font-weight:800;letter-spacing:.18em;font-size:.75rem}
.intro h1{font-size:clamp(2.5rem,5vw,5rem);letter-spacing:-.06em;line-height:.96;margin:12px 0 20px}
.intro h1 span{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.52)}
.intro>p{color:var(--muted);line-height:1.7;max-width:550px}
form{max-width:720px}
fieldset{border:0;padding:0;margin:0 0 52px}
legend{width:100%;font-size:1.25rem;font-weight:760;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:22px}
legend span{display:inline-grid;place-items:center;width:34px;height:34px;margin-right:10px;border-radius:10px;background:rgba(100,230,255,.1);color:var(--accent);font-size:.74rem}
.profile-fields{display:flex;gap:22px}
.grow{flex:1}
label{display:block;color:#c8d2df;font-size:.84rem;font-weight:650;margin-bottom:18px}
input,textarea,select{width:100%;margin-top:8px;color:white;background:#0b1625;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:14px 15px;outline:none;transition:.2s}
input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(100,230,255,.09)}
textarea{resize:vertical;min-height:94px}
.counter{display:block;text-align:right;margin-top:-26px;margin-right:10px;color:var(--muted);font-size:.72rem;pointer-events:none}
.avatar-upload{position:relative;flex:0 0 112px;height:140px;margin:0;display:grid;place-items:center;border:1px dashed rgba(100,230,255,.35);border-radius:20px;background:rgba(100,230,255,.04);cursor:pointer;overflow:hidden}
.avatar-upload input,.background-upload input{display:none}
.avatar-placeholder{font-size:2rem;color:var(--accent)}
.avatar-upload small{text-align:center;color:var(--muted)}
.avatar-upload b{color:var(--accent)}
#avatarThumb{display:none;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.link-row{display:grid;grid-template-columns:145px 1fr 1.45fr 42px;gap:10px;align-items:end;margin-bottom:12px}
.link-row label{margin:0}
.remove-link{height:48px;border:1px solid rgba(255,98,123,.25);border-radius:12px;background:rgba(255,98,123,.07);color:var(--danger);cursor:pointer}
.add-link{width:100%;padding:14px;background:transparent;border:1px dashed rgba(100,230,255,.35);color:var(--accent)}
.theme-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.theme-card{padding:9px 9px 12px;border:1px solid var(--line);border-radius:14px;background:#0a1320;color:white;cursor:pointer}
.theme-card.active{border-color:var(--accent);box-shadow:0 0 0 2px rgba(100,230,255,.09)}
.theme-preview{display:block;height:64px;border-radius:9px;margin-bottom:9px}
.theme-preview.neon{background:radial-gradient(circle at 70% 20%,#763cff,transparent 42%),linear-gradient(135deg,#07111f,#032331)}
.theme-preview.midnight{background:linear-gradient(145deg,#131734,#050611)}
.theme-preview.sunset{background:radial-gradient(circle at 70% 20%,#ffb86b,transparent 35%),linear-gradient(145deg,#662057,#15102d)}
.theme-preview.minimal{background:linear-gradient(145deg,#fff,#dbe5f1)}
.theme-card b{font-size:.78rem}
.color-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}
.color-row input[type=color]{height:48px;padding:5px;cursor:pointer}
.background-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.select-label{margin:0}
.background-upload{align-self:end;margin:0;height:48px;display:grid;place-items:center;border:1px dashed rgba(255,255,255,.2);border-radius:12px;cursor:pointer;color:var(--muted)}
.publish{width:100%;padding:17px 20px;display:flex;justify-content:space-between;font-size:1rem}
.form-message{min-height:28px;color:var(--danger);font-size:.88rem}
.preview-panel{position:sticky;top:72px;height:calc(100vh - 72px);padding:26px clamp(22px,4vw,62px);display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 35%,rgba(88,74,255,.2),transparent 38%),#070c15}
.preview-head{width:min(100%,380px);display:flex;justify-content:space-between;margin-bottom:16px;text-transform:uppercase;letter-spacing:.12em;font-size:.67rem;color:var(--muted)}
.live-dot{color:#63f5b6}
.phone-shell{position:relative;width:290px;height:590px;border:8px solid #1f2938;border-radius:43px;background:#090d15;padding:4px;box-shadow:0 35px 80px rgba(0,0,0,.55),inset 0 0 0 1px rgba(255,255,255,.15)}
.phone-notch{position:absolute;z-index:4;width:88px;height:22px;left:50%;top:8px;transform:translateX(-50%);border-radius:0 0 15px 15px;background:#1f2938}
.profile-canvas{position:relative;height:100%;overflow:hidden;border-radius:32px;padding:62px 22px 25px;text-align:center;background:linear-gradient(150deg,#07111f,#09293a);color:white}
.canvas-glow,.public-glow{position:absolute;width:230px;height:230px;border-radius:50%;background:var(--canvas-accent,var(--accent));filter:blur(95px);opacity:.22;top:-80px;right:-100px}
.preview-avatar,.avatar-fallback{position:relative;width:78px;height:78px;margin:0 auto 14px;border-radius:50%;border:3px solid var(--canvas-accent,var(--accent));object-fit:cover;box-shadow:0 0 30px color-mix(in srgb,var(--canvas-accent,var(--accent)) 35%,transparent)}
.preview-avatar{display:none}
.avatar-fallback{display:grid;place-items:center;font-size:1.7rem;font-weight:850;background:rgba(255,255,255,.1)}
.profile-canvas h2{position:relative;margin:0 0 8px;font-size:1.4rem}
.profile-canvas>p{position:relative;margin:0 auto 24px;color:color-mix(in srgb,currentColor 68%,transparent);font-size:.77rem;line-height:1.5;max-width:220px}
.preview-links{position:relative;display:grid;gap:10px}
.preview-link{display:flex;align-items:center;justify-content:space-between;min-height:46px;padding:9px 13px;border:1px solid color-mix(in srgb,var(--canvas-accent,var(--accent)) 35%,transparent);border-radius:13px;background:rgba(255,255,255,.07);font-size:.76rem;font-weight:750}
.preview-link-left,.public-link-left{display:flex;align-items:center;gap:10px;min-width:0}
.social-icon{display:inline-grid;place-items:center;flex:0 0 auto;color:var(--canvas-accent,var(--accent))}
.social-icon svg{display:block;width:20px;height:20px;fill:currentColor}
.social-icon .icon-cut{fill:color-mix(in srgb,currentColor 8%,#07111f)}
.social-icon .icon-cut-line{fill:none;stroke:color-mix(in srgb,currentColor 8%,#07111f);stroke-width:1.7;stroke-linecap:round}
.profile-canvas>small{position:absolute;bottom:18px;left:0;right:0;color:color-mix(in srgb,currentColor 40%,transparent);font-size:.6rem}
.theme-midnight{background:linear-gradient(155deg,#161b3c,#050710)}
.theme-sunset{background:radial-gradient(circle at 85% 5%,#ffb86b,transparent 38%),linear-gradient(155deg,#70225f,#17102f)}
.theme-minimal{background:linear-gradient(155deg,#fff,#e4edf7);color:#111827}
.preview-note{max-width:330px;text-align:center;color:#65758b;font-size:.75rem;line-height:1.5;margin-top:18px}
dialog{width:min(92vw,610px);border:1px solid rgba(255,255,255,.13);border-radius:24px;padding:34px;background:#0a1422;color:white;box-shadow:0 30px 100px #000}
dialog::backdrop{background:rgba(1,5,10,.82);backdrop-filter:blur(8px)}
dialog h2{font-size:1.7rem;margin:12px 0 8px}
dialog>p{color:var(--muted);line-height:1.55}
.success-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:rgba(99,245,182,.13);color:#63f5b6;font-size:1.35rem}
.copy-field{display:flex}
.copy-field input{border-radius:12px 0 0 12px}
.copy-field button{margin-top:8px;border:0;border-radius:0 12px 12px 0;background:#1b2b3e;color:var(--accent);padding:0 14px;cursor:pointer}
.secret input{font-size:.75rem}
.dialog-actions{display:flex;gap:10px;margin-top:25px}
.dialog-actions>*{flex:1;padding:14px}
.secondary{background:#172334;color:white}
.public-body{min-height:100vh}
.public-page{--canvas-accent:#64e6ff;position:relative;overflow:hidden;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:72px 20px 40px;background:linear-gradient(145deg,#07111f,#09293a);color:white}
.mini-brand{position:absolute;top:26px;left:30px;text-decoration:none;color:inherit;font-weight:850}
.public-card{position:relative;z-index:2;width:min(100%,540px);text-align:center}
.public-card .preview-avatar,.public-card .avatar-fallback{width:112px;height:112px;margin-bottom:19px}
.public-card h1{font-size:clamp(2rem,6vw,3rem);letter-spacing:-.04em;margin:0 0 10px}
.public-bio{color:color-mix(in srgb,currentColor 65%,transparent);line-height:1.6;max-width:440px;margin:0 auto 30px}
.public-links{display:grid;gap:13px}
.public-link{display:flex;align-items:center;justify-content:space-between;min-height:62px;padding:14px 18px;border-radius:17px;text-decoration:none;color:inherit;font-weight:750;background:rgba(255,255,255,.08);border:1px solid color-mix(in srgb,var(--canvas-accent) 38%,transparent);backdrop-filter:blur(13px);transition:.2s}
.public-link:hover{transform:translateY(-2px);background:rgba(255,255,255,.13);box-shadow:0 12px 30px rgba(0,0,0,.18)}
.platform-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:color-mix(in srgb,var(--canvas-accent) 16%,transparent);color:var(--canvas-accent)}
.platform-icon svg{width:22px;height:22px}
.public-arrow{color:var(--canvas-accent);font-size:1.1rem}
.create-own{z-index:2;margin-top:34px;color:color-mix(in srgb,currentColor 55%,transparent);font-size:.78rem;text-decoration:none}
.loader{width:42px;height:42px;margin:auto;border:3px solid rgba(255,255,255,.15);border-top-color:var(--canvas-accent);border-radius:50%;animation:spin .8s linear infinite}
.error-card{padding:34px;border:1px solid var(--line);border-radius:20px;background:rgba(0,0,0,.18)}
@keyframes spin{to{transform:rotate(360deg)}
}

@media(max-width:900px){.builder-layout{display:block}
.editor-panel{padding:44px 22px 70px;border:0}
.preview-panel{position:relative;top:0;height:auto;min-height:720px}
.topbar{padding:0 18px}
.save-state{display:none}
.link-row{grid-template-columns:1fr 1fr}
.link-row .url-label{grid-column:1/-1}
.remove-link{grid-column:2;justify-self:end;width:42px;margin-top:-60px;z-index:2}
.theme-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){.topbar-actions .primary{display:none}
.profile-fields{display:block}
.avatar-upload{width:112px;margin:0 auto 22px}
.color-row,.background-row{grid-template-columns:1fr}
.link-row{display:block;position:relative;padding:15px;border:1px solid var(--line);border-radius:15px}
.link-row label{margin-bottom:12px}
.remove-link{position:absolute;right:8px;top:8px;width:36px;height:36px;margin:0}
.theme-preview{height:52px}
.dialog-actions{flex-direction:column}
.phone-shell{width:278px}
.intro h1{font-size:2.7rem}
}

/* Direction artistique ChumBOT — déclinaison verte */
:root{--ink:#f8f3f4;--muted:#aaa3a6;--panel:#151519;--line:rgba(255,255,255,.085);--accent:#2cff73;--accent2:#12a84f;--danger:#ff5964}
body{background:#09090b;color:var(--ink)}
.builder-body{background-image:repeating-linear-gradient(135deg,transparent 0 170px,rgba(44,255,115,.035) 170px 225px,transparent 225px 410px)}
.topbar{height:70px;background:rgba(13,13,16,.92);border-color:rgba(255,255,255,.09);backdrop-filter:blur(16px)}
.brand{letter-spacing:.01em}
.brand-mark{width:38px;height:38px;border-radius:50%;background:rgba(44,255,115,.035);border:2px solid rgba(44,255,115,.26);color:var(--accent);box-shadow:inset 0 0 18px rgba(44,255,115,.08)}
.primary,.secondary,.add-link{border-radius:8px}
.primary{color:#07120a;background:var(--accent);box-shadow:none}
.primary:hover{background:#57ff8e}
.builder-layout{min-height:calc(100vh - 70px)}
.editor-panel{border-color:var(--line);background:radial-gradient(circle at 70% 4%,rgba(44,255,115,.075),transparent 26%)}
.intro h1{letter-spacing:-.045em;line-height:1.01}
.intro h1 span{color:var(--ink);-webkit-text-stroke:0}
.intro>p{color:var(--muted)}
fieldset{padding:24px;margin-bottom:22px;background:#151519;border:1px solid rgba(255,255,255,.075);border-top:3px solid rgba(44,255,115,.78);border-radius:8px}
legend{float:left;border:0;padding:0 0 18px;margin:0 0 20px}
legend+*{clear:both}
legend span{border-radius:6px;background:rgba(44,255,115,.11)}
label{color:#c9c3c5}
input,textarea,select{background:#0d0d10;border-color:rgba(255,255,255,.11);border-radius:8px}
input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(44,255,115,.11)}
.avatar-upload{border-color:rgba(44,255,115,.35);border-radius:8px;background:rgba(44,255,115,.035)}
.remove-link{border-radius:8px}
.add-link{border-color:rgba(44,255,115,.38)}
.theme-card{border-radius:8px;background:#0d0d10}
.theme-card.active{border-color:var(--accent);box-shadow:0 0 0 2px rgba(44,255,115,.1)}
.theme-preview{border-radius:5px}
.theme-preview.neon{background:repeating-linear-gradient(135deg,transparent 0 28px,rgba(44,255,115,.11) 28px 38px,transparent 38px 70px),#0d0d10}
.background-upload{border-radius:8px}
.preview-panel{top:70px;height:calc(100vh - 70px);background:radial-gradient(circle at 50% 35%,rgba(44,255,115,.09),transparent 34%),repeating-linear-gradient(135deg,transparent 0 170px,rgba(44,255,115,.04) 170px 220px,transparent 220px 390px),#0d0d10}
.live-dot{color:var(--accent)}
.phone-shell{border-color:#242429;background:#0d0d10;box-shadow:0 30px 70px rgba(0,0,0,.62),inset 0 0 0 1px rgba(255,255,255,.11)}
.phone-notch{background:#242429}
.profile-canvas.theme-neon{background:radial-gradient(circle at 78% 8%,rgba(44,255,115,.13),transparent 32%),repeating-linear-gradient(135deg,transparent 0 95px,rgba(44,255,115,.045) 95px 125px,transparent 125px 220px),#0d0d10}
.preview-link{border-radius:8px;background:#151519;border-color:color-mix(in srgb,var(--canvas-accent,var(--accent)) 30%,transparent)}
dialog{border-radius:10px;background:#151519;border-top:3px solid var(--accent)}
.copy-field input{border-radius:8px 0 0 8px}
.copy-field button{border-radius:0 8px 8px 0;background:#232328}
.secondary{background:#232328}
.public-page{--canvas-accent:#2cff73;background:radial-gradient(circle at 78% 8%,rgba(44,255,115,.13),transparent 32%),repeating-linear-gradient(135deg,transparent 0 160px,rgba(44,255,115,.045) 160px 215px,transparent 215px 390px),#0d0d10}
.public-link{border-radius:8px;background:#151519;border-color:color-mix(in srgb,var(--canvas-accent) 30%,transparent);backdrop-filter:none}
.public-link:hover{background:#1c1c21;box-shadow:none}
.platform-icon{border-radius:7px}
.error-card{border-radius:8px;background:#151519;border-top:3px solid var(--accent)}

/* Gestion et personnalisation des boutons */
.link-row{grid-template-columns:36px 125px minmax(105px,1fr) minmax(170px,1.35fr) 76px 42px;align-items:end;padding:12px;border:1px solid rgba(255,255,255,.07);border-radius:8px;background:#101013;transition:opacity .2s,border-color .2s,transform .2s}
.link-row.dragging{opacity:.48;border-color:var(--accent);transform:scale(.99)}
.link-row.link-disabled{opacity:.55}
.drag-handle{align-self:center;width:34px;height:48px;border:0;background:transparent;color:#777178;font-size:1.45rem;cursor:grab;touch-action:none}
.drag-handle:active{cursor:grabbing;color:var(--accent)}
.visibility-toggle{align-self:center;display:grid;justify-items:center;gap:4px;margin:0;cursor:pointer}
.visibility-toggle input{position:absolute;opacity:0;pointer-events:none}
.switch-track{display:block;position:relative;width:42px;height:23px;border-radius:999px;background:#34343a;transition:.2s}
.switch-track i{position:absolute;width:17px;height:17px;left:3px;top:3px;border-radius:50%;background:#a9a4a8;transition:.2s}
.visibility-toggle input:checked+.switch-track{background:rgba(44,255,115,.3);box-shadow:inset 0 0 0 1px rgba(44,255,115,.5)}
.visibility-toggle input:checked+.switch-track i{transform:translateX(19px);background:var(--accent)}
.visibility-toggle b{font-size:.68rem;color:var(--muted)}
.button-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.button-options label{margin:0}
.buttons-square .preview-link,.buttons-square .public-link{border-radius:2px}
.buttons-rounded .preview-link,.buttons-rounded .public-link{border-radius:10px}
.buttons-pill .preview-link,.buttons-pill .public-link{border-radius:999px;padding-left:18px;padding-right:18px}
.preview-link,.public-link{transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease,border-color .22s ease}
.animation-none .preview-link:hover,.animation-none .public-link:hover{transform:none}
.animation-lift .preview-link:hover,.animation-lift .public-link:hover{transform:translateY(-4px)}
.animation-pulse .preview-link:hover,.animation-pulse .public-link:hover{animation:linkPulse .55s ease-in-out}
.animation-glow .preview-link:hover,.animation-glow .public-link:hover{transform:translateY(-2px);border-color:var(--canvas-accent,var(--accent));box-shadow:0 0 22px color-mix(in srgb,var(--canvas-accent,var(--accent)) 38%,transparent)}
@keyframes linkPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
@media(max-width:760px){
  .link-row{display:grid;grid-template-columns:34px 1fr 42px;align-items:end;padding:12px}
  .drag-handle{grid-column:1;grid-row:1/5;align-self:stretch;height:auto}
  .link-row .platform-label,.link-row .text-label,.link-row .url-label{grid-column:2/4}
  .visibility-toggle{grid-column:2;justify-self:start;grid-template-columns:auto auto;align-items:center;justify-items:start}
  .remove-link{grid-column:3;grid-row:4}
  .button-options{grid-template-columns:1fr}
}

/* Accès à la modification depuis la page publique */
.management-code input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.08rem;font-weight:850;letter-spacing:.1em;color:var(--accent)}
.edit-page-button{z-index:2;margin-top:13px;padding:10px 16px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#151519;color:#aaa3a6;font-size:.76rem;font-weight:750;cursor:pointer;transition:.2s}
.edit-page-button:hover{border-color:rgba(44,255,115,.45);color:var(--accent);background:#1c1c21}
.edit-page-dialog{position:relative;width:min(92vw,470px);padding:30px}
.edit-page-dialog h2{margin:5px 0 8px}
.edit-page-dialog>p:not(.eyebrow){color:var(--muted);line-height:1.55}
.edit-page-dialog form{max-width:none}
.dialog-close{position:absolute;right:16px;top:14px;width:36px;height:36px;border:0;border-radius:8px;background:#232328;color:#aaa3a6;font-size:1.3rem;cursor:pointer}
.dialog-close:hover{color:white}
.code-error{min-height:22px;margin:2px 0 10px;color:var(--danger);font-size:.82rem}
.code-submit{width:100%;padding:14px;border:0;cursor:pointer}
.code-submit:disabled{opacity:.58;cursor:wait}

/* Mot de passe choisi lors de la création */
.password-setup{margin-top:6px;padding:18px;border:1px solid rgba(44,255,115,.22);border-radius:8px;background:rgba(44,255,115,.035)}
.password-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.password-grid label{margin:0}
.password-setup>p{margin:12px 0 0;color:var(--muted);font-size:.76rem;line-height:1.5}
.password-setup[hidden]{display:none}
@media(max-width:620px){.password-grid{grid-template-columns:1fr}.password-grid label{margin-bottom:4px}}

/* Retour vers le site principal, comme sur ChumGames */
.topbar-left{display:flex;align-items:center;height:100%;gap:16px}
.topbar-separator{width:1px;height:36px;background:rgba(255,255,255,.1)}
.return-chumbot{display:flex;align-items:center;gap:7px;color:#96919a;text-decoration:none;font-size:.78rem;transition:color .2s}
.return-chumbot>span{color:var(--accent);font-size:1rem;line-height:1}
.return-chumbot b{font-weight:700}
.return-chumbot:hover{color:#f8f3f4}
@media(max-width:520px){.topbar-left{gap:10px}.topbar-separator{height:30px}.return-chumbot{font-size:.7rem}.brand{font-size:1rem}.brand-mark{width:32px;height:32px}}

/* Annuaire des pages publiques */
.user-directory-link{display:flex;align-items:center;gap:7px;padding:10px 13px;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#d5d0d2;text-decoration:none;font-size:.78rem;transition:.2s}
.user-directory-link span{color:var(--accent);font-size:1rem}
.user-directory-link b{font-weight:750}
.user-directory-link:hover{border-color:rgba(44,255,115,.42);color:var(--accent);background:#151519}
.directory-body{min-height:100vh;background:repeating-linear-gradient(135deg,transparent 0 190px,rgba(44,255,115,.035) 190px 245px,transparent 245px 450px),#09090b}
.directory-main{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:84px 0 70px}
.directory-hero{max-width:760px}
.directory-hero h1{margin:12px 0 20px;font-size:clamp(2.8rem,7vw,5.8rem);line-height:.96;letter-spacing:-.06em}
.directory-hero h1 span{color:var(--accent)}
.directory-hero>p:last-of-type{max-width:650px;color:var(--muted);line-height:1.65}
.directory-search{position:relative;display:block;max-width:560px;margin:34px 0 0}
.directory-search>span{position:absolute;left:17px;top:50%;transform:translateY(-50%);z-index:1;color:var(--accent);font-size:1.3rem}
.directory-search input{height:56px;margin:0;padding-left:48px;background:#151519;border-color:rgba(255,255,255,.11)}
.directory-results{margin-top:74px}
.directory-meta{display:flex;align-items:end;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:20px}
.directory-meta h2{margin:0;font-size:1.15rem}
.directory-meta span{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}
.user-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.user-card{position:relative;display:flex;flex-direction:column;min-height:250px;padding:22px;background:#151519;border:1px solid rgba(255,255,255,.075);border-top:3px solid var(--profile-accent);border-radius:8px;overflow:hidden}
.user-card::after{content:"";position:absolute;width:130px;height:130px;right:-60px;top:-70px;border-radius:50%;background:var(--profile-accent);filter:blur(65px);opacity:.1;pointer-events:none}
.user-card-head{display:flex;align-items:center;gap:14px;position:relative;z-index:1}
.directory-avatar{display:grid;place-items:center;width:58px;height:58px;flex:0 0 58px;border-radius:50%;object-fit:cover;background:#0d0d10;border:2px solid var(--profile-accent);color:var(--profile-accent);font-size:1.25rem;font-weight:850}
.user-card h3{margin:0 0 3px;font-size:1.1rem}
.user-card small{color:var(--profile-accent);font-size:.72rem}
.user-card-bio{flex:1;margin:22px 0;color:var(--muted);font-size:.86rem;line-height:1.55}
.user-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:15px;border-top:1px solid rgba(255,255,255,.07);font-size:.76rem}
.user-card-footer span{color:#777178}
.user-card-footer a{color:#f8f3f4;text-decoration:none;font-weight:800}
.user-card-footer a:hover{color:var(--profile-accent)}
.directory-loader{grid-column:1/-1;display:grid;place-items:center;gap:12px;padding:70px;color:var(--muted)}
.directory-loader .loader{margin:0}
.directory-empty{text-align:center;padding:70px 20px;border:1px dashed rgba(255,255,255,.12);border-radius:8px;color:var(--muted)}
.directory-empty h3{color:#f8f3f4;margin:0 0 8px}
.directory-empty p{margin:0}
.directory-footer{text-align:center;padding:22px;color:#5f5a61;font-size:.72rem;border-top:1px solid rgba(255,255,255,.06)}
@media(max-width:900px){.user-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-main{padding-top:58px}}
@media(max-width:700px){.user-directory-link{width:40px;height:40px;padding:0;justify-content:center}.user-directory-link b{display:none}}
@media(max-width:560px){.user-grid{grid-template-columns:1fr}.directory-main{width:min(100% - 28px,1180px);padding-top:44px}.directory-hero h1{font-size:2.75rem}.directory-create{display:flex!important;padding:10px 12px}.directory-topbar .return-chumbot b{display:none}.directory-topbar .return-chumbot{width:24px}.user-card{min-height:230px}}
