:root{color-scheme:dark;--bg:#090b0f;--surface:#11151b;--surface2:#171c24;--border:#29313d;--text:#f4f7fb;--muted:#98a3b3;--accent:#78aefc;--danger:#e15d68;--radius:16px;--shadow:0 12px 36px rgba(0,0,0,.22)}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{margin:0;background:radial-gradient(circle at 50% -20%,#182235 0,#090b0f 38%);color:var(--text);font:15px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}header{position:sticky;top:0;z-index:20;min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px max(22px,calc((100% - 1180px)/2));border-bottom:1px solid rgba(41,49,61,.8);background:rgba(9,11,15,.88);backdrop-filter:blur(16px)}.brand{font-size:18px;color:#fff;white-space:nowrap}.brand:hover{text-decoration:none}nav{display:flex;align-items:center;gap:6px;overflow-x:auto}nav a{color:#c8d0dc;padding:9px 11px;border-radius:10px;white-space:nowrap}nav a:hover{background:var(--surface2);color:#fff;text-decoration:none}main{width:min(1180px,100%);margin:34px auto;padding:0 20px 60px}h1{font-size:clamp(28px,4vw,40px);line-height:1.1;margin:0 0 10px}h2{margin:30px 0 12px}h3{margin:22px 0 8px}.eyebrow{color:var(--accent);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.muted,small{color:var(--muted)}.card{display:block;background:linear-gradient(180deg,var(--surface2),var(--surface));border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:18px;box-shadow:var(--shadow)}a.card{color:inherit;transition:transform .15s,border-color .15s}a.card:hover{transform:translateY(-2px);border-color:#47576b;text-decoration:none}.auth{max-width:470px;margin:8vh auto}.pagehead{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.toolbar{display:flex;gap:10px;align-items:end;margin-bottom:22px}.toolbar form{display:flex;gap:10px;flex:1}.toolbar input{margin:0}.toolbar button{width:auto;margin:0}.btn,.button,button{appearance:none;border:1px solid #c8d5e5;background:#eaf1f9;color:#10151c;border-radius:10px;padding:11px 16px;font:inherit;font-weight:800;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;min-height:44px}.btn:hover,.button:hover,button:hover{filter:brightness(.94);text-decoration:none}.btn.secondary,button.secondary{background:#1b222c;color:#e7edf5;border-color:#394555}.danger{background:#63252c!important;border-color:#863841!important;color:#fff!important}label{display:block;font-weight:700;margin:4px 0 14px}input,textarea,select{width:100%;padding:12px 13px;margin-top:6px;border-radius:10px;border:1px solid #364150;background:#0b0f14;color:#fff;font:inherit;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(120,174,252,.14)}textarea{resize:vertical}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.full{grid-column:1/-1}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}.profile-card{padding:0;overflow:hidden}.profile-card img,.profile-placeholder{width:100%;aspect-ratio:1;object-fit:cover;display:block;background:#0c1015}.profile-card .content{padding:15px}.profile-card h3{margin:0 0 2px}.hero{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:start}.actions{display:flex;gap:8px;flex-wrap:wrap}.pill{display:inline-block;padding:5px 10px;border:1px solid #394555;background:#10151c;border-radius:999px;margin:3px 4px 3px 0;color:#dce4ef}.photos{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.photo-tile{position:relative;overflow:hidden;background:#111}.photo-tile img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.photo-tile small{position:absolute;left:8px;bottom:8px;background:rgba(0,0,0,.72);padding:4px 7px;border-radius:7px;color:#fff}.rank-title{text-align:center;margin-bottom:22px}.rank{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:960px;margin:auto}.rank form{min-width:0}.rank-choice{padding:0;background:var(--surface);border-color:var(--border);color:#fff;overflow:hidden;width:100%;display:block;text-align:left}.rank-choice:hover{filter:none;border-color:var(--accent);transform:translateY(-2px)}.rank-choice img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.rank-meta{padding:14px 16px}.rank-meta strong{display:block;font-size:18px}.leader-row{display:grid;grid-template-columns:50px 82px 1fr auto;gap:14px;align-items:center}.leader-row img,.leader-row video{width:82px;height:82px;object-fit:cover;border-radius:10px;background:#000}.place{font-size:22px;font-weight:900;color:#aab5c3}.mmr{font-weight:800;font-variant-numeric:tabular-nums}.tabs{display:flex;gap:5px;background:#10151c;border:1px solid var(--border);padding:5px;border-radius:12px;width:max-content;max-width:100%;margin-bottom:20px}.tabs a{padding:8px 13px;border-radius:8px;color:#aeb8c5}.tabs a.active{background:#273140;color:#fff}.row{display:flex;gap:10px;align-items:center}.row>*{flex:1}.notice{padding:12px 14px;border:1px solid #344156;background:#111a26;border-radius:10px;margin:12px 0}.empty{text-align:center;padding:46px 20px;color:var(--muted)}@media(max-width:720px){header{align-items:flex-start;flex-direction:column;gap:4px;padding:10px 14px}.brand{padding-left:6px}nav{width:100%;padding-bottom:2px}main{margin-top:22px;padding:0 14px 40px}.pagehead,.hero{display:block}.actions{margin-top:14px}.formgrid{grid-template-columns:1fr}.toolbar{align-items:stretch;flex-direction:column}.toolbar form{width:100%}.rank{gap:8px}.rank-meta{padding:10px}.rank-meta strong{font-size:15px}.rank-meta small{font-size:11px}.photos{grid-template-columns:repeat(2,1fr)}.leader-row{grid-template-columns:34px 64px 1fr}.leader-row img,.leader-row video{width:64px;height:64px}.leader-row .mmr{grid-column:3}.row.stack-mobile{flex-direction:column;align-items:stretch}}@media(max-width:420px){.rank-meta small{display:none}}
.videos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.video-tile,.video-choice{position:relative;overflow:hidden}.video-tile video,.video-choice video{display:block;width:100%;aspect-ratio:9/16;max-height:70vh;background:#000;object-fit:contain}.video-tile small{position:absolute;left:8px;bottom:8px;background:rgba(0,0,0,.78);padding:4px 7px;border-radius:7px;color:#fff}.video-choice{padding:0}.video-vote{width:100%;border:0;border-top:1px solid var(--border);border-radius:0;display:flex;justify-content:space-between;text-align:left}.video-vote .rank-meta{padding:0}@media(max-width:720px){.videos{grid-template-columns:1fr}.video-choice video{max-height:58vh}}

.processing-row{display:flex;align-items:center;justify-content:space-between;gap:18px}.processing-row form{flex:0 0 auto}.processing-row button{margin:0}.error-text{margin-top:8px;color:#ffadb4;font-size:13px;max-width:900px;overflow-wrap:anywhere}@media(max-width:720px){.processing-row{align-items:stretch;flex-direction:column}}
.admin-table{display:grid;gap:10px}.moderation-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,2fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.moderation-row:last-child{border-bottom:0}.moderation-row input{margin:0}.moderation-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.media-mod{display:flex;flex-direction:column;gap:8px;margin:0}.media-mod img,.video-mod-placeholder{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;background:#080b0f;display:grid;place-items:center;color:var(--muted);font-weight:900;letter-spacing:.1em}.media-mod input{margin:0}@media(max-width:720px){.moderation-row{grid-template-columns:1fr}.moderation-row button{width:100%}}

.profile-title{font-size:.48em;vertical-align:middle;padding:5px 9px;border:1px solid var(--border);border-radius:999px;color:var(--accent);white-space:nowrap}.profile-link{width:100%;margin-top:8px}.photo-shop-grid{align-items:start}.photo-card{overflow:visible;border:1px solid var(--border);border-radius:12px;background:var(--surface);padding-bottom:10px}.photo-card img{border-radius:11px 11px 0 0}.reactions{padding:8px;display:flex;gap:5px;flex-wrap:wrap;min-height:38px}.reaction{background:#0b0f14;border:1px solid var(--border);border-radius:999px;padding:3px 7px}.emoji-shop{display:flex;gap:6px;padding:0 8px}.emoji-shop select{margin:0;min-width:0}.emoji-shop button{padding:8px 10px;min-height:40px}.emoji-big{font-size:28px}@media(max-width:720px){.emoji-shop{flex-direction:column}.profile-title{display:inline-block;margin-top:5px}}

/* Home profile grid: kept in the external stylesheet so CSP does not block it. */
.profile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.home-profile-card{min-width:0;overflow:hidden;text-decoration:none;color:inherit}
.home-profile-card:hover{text-decoration:none}
.home-profile-card img{display:block;width:100%;max-width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px}

/* Shared profile gallery used by Home and Profiles. */
.profile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;align-items:start}
.profile-grid .profile-card{padding:0;margin:0;min-width:0;overflow:hidden;text-decoration:none;color:inherit}
.profile-grid .profile-card:hover{text-decoration:none}
.profile-grid .profile-card>img,.profile-grid .profile-card>.profile-placeholder{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;background:#0c1015}
.profile-grid .profile-placeholder{place-items:center;color:var(--muted)}
.profile-grid .profile-card .content{padding:12px 14px 14px}
.profile-grid .profile-card h3{margin:0 0 4px;font-size:17px;line-height:1.25}
.profile-card-title{color:var(--accent);font-size:13px;font-weight:800;line-height:1.3;margin-top:3px}
.profile-card-location{color:var(--muted);font-size:13px;line-height:1.35;margin-top:4px}
@media(max-width:520px){.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.profile-grid .profile-card .content{padding:10px}.profile-grid .profile-card h3{font-size:15px}}

/* Profiles toolbar: search plus per-account preference selector. */
.profile-controls{display:flex;flex-direction:column;gap:10px;min-width:min(100%,420px)}
.profile-controls .actions{margin:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.profile-controls input,.profile-controls select,.profile-controls button{margin:0}
@media(max-width:720px){.profile-controls{width:100%;margin-top:14px;min-width:0}.profile-controls .actions{grid-template-columns:minmax(0,1fr) auto}}
