body{background:#0f141a;color:#f5edf0;font-family:Space,sans-serif}.portal{max-width:1180px;margin:auto;padding:24px}.portal header{display:flex;justify-content:space-between;align-items:center;padding:18px 0 30px;border-bottom:1px solid #ffffff20}.portal nav{display:flex;gap:24px;font-size:13px}.portal h1{font-size:42px;letter-spacing:-1.5px;margin:28px 0 12px}.portal h2{font-size:24px}.portal p{line-height:1.7;color:#cbbac2}.portal .notice{padding:12px 18px;border:1px solid #feb30066;border-radius:8px;color:#ffcf69;background:#feb3000a}.portal .error{color:#ff9eac}.portal label{display:flex;flex-direction:column;gap:7px;margin:14px 0;font-size:13px}.portal input,.portal select,.portal textarea{padding:12px;background:#161e27;border:1px solid #ffffff30;color:#fff;border-radius:6px;font:inherit;max-width:100%}.portal input[type=color]{height:42px;min-width:100px}.portal form{max-width:600px}.portal .actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.portal .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px;margin:24px 0}.portal article{border:1px solid #ffffff22;padding:22px;border-radius:12px;background:#182029;overflow-wrap:anywhere}.portal .creative{padding:16px;border:2px solid #ffb1c1;border-radius:8px;display:flex;gap:14px;align-items:center;background:linear-gradient(115deg,#30303b,#141922)}.creative img{width:56px;height:56px;object-fit:contain}.creative strong{font-size:22px}.creative small{display:block;margin-top:5px}.portal .badge{color:#ffb1c1;text-transform:uppercase;font:11px Mono,monospace;letter-spacing:1px}.portal table{width:100%;border-collapse:collapse;font-size:12px}.portal th,.portal td{text-align:left;padding:12px;border-bottom:1px solid #ffffff20;overflow-wrap:anywhere}.table-wrap{overflow:auto}.portal .auth{max-width:450px;margin:40px auto}.portal button{margin:3px 0}.portal .review-note{color:#ffcf69}.portal .paid{color:#86deb9}.portal .mini{font:11px Mono,monospace;color:#a99ea9}.portal fieldset{border:1px solid #ffffff22;border-radius:8px;padding:16px}.portal a:hover{color:#ffb1c1}@media(max-width:600px){.portal{padding:15px}.portal h1{font-size:32px}.portal nav{gap:12px}.portal header{font-size:12px}.portal table{min-width:600px}}
.portal .bid-receipt{padding:24px;border:1px solid #ffb1c166;background:#34242f;border-radius:12px;margin:20px 0}.bid-receipt>span{font:11px Mono,monospace;color:#ffb1c1;display:block}.bid-receipt>strong{display:block;font-size:48px;margin:10px 0}.bid-receipt p{font-size:13px}.portal form{width:100%}.portal .creative{max-width:600px}.portal input:focus-visible,.portal select:focus-visible{outline:2px solid #feb300;outline-offset:2px}

/* Player card (leaderboard name and best runs). */
.player-card{background:#1a2027;border:1px solid #ffb1c144;border-radius:14px;padding:18px;margin:0 0 28px}
.player-card h2{margin:6px 0 10px;font-size:24px}
.player-card .eyebrow{font:11px Mono,monospace;letter-spacing:.2em;color:#ffb1c1}
.name-form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:10px 0 16px}
.name-form label{flex:1 1 220px;display:flex;flex-direction:column;gap:6px}
.name-form input{min-height:44px;font-size:16px}
.name-form button{min-height:44px}
.player-card table{width:100%}
.player-card .table-wrap{overflow-x:visible}
.player-card table{min-width:0;table-layout:auto}
.player-card th,.player-card td{padding:8px 6px;white-space:normal;font-size:13px;overflow-wrap:anywhere}
.player-card td:not(:first-child),.player-card th:not(:first-child){text-align:right;white-space:nowrap}
.text-button.danger{color:#ff8a8a}
.text-button.danger:hover{color:#ffb4b4;text-decoration:underline}
/* Social sign-in */
.social-login{display:grid;gap:10px;margin:8px 0 14px;max-width:420px}
.social-btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;border-radius:12px;font-weight:700;text-decoration:none;border:1px solid #ffffff26}
.social-btn span{font-size:18px;line-height:1}
.social-btn.google{background:#fff;color:#1f1f1f}
.social-btn.google span{color:#4285f4;font-weight:800}
.social-btn:hover{filter:brightness(.95)}
.social-login .or{display:flex;align-items:center;gap:10px;color:#a99aa3;font-size:12px;margin:4px 0 0}
.social-login .or::before,.social-login .or::after{content:"";flex:1;height:1px;background:#ffffff1f}
/* Level advert claims (outbid-style) */
.claim{margin:8px 0 28px}
.claim h1{margin:6px 0 10px}
.claim-form{display:grid;gap:14px;max-width:560px;margin-top:10px}
.claim-preview img{width:84px;height:84px;object-fit:contain;border-radius:12px;background:#fffaf4;padding:6px;box-shadow:0 4px 14px #0006}
.stepper{display:grid;grid-template-columns:52px 1fr 52px;gap:8px;align-items:end}
.stepper>button{min-height:52px;font-size:24px;padding:0}
.stepper .amount input{font-size:22px;font-weight:700;text-align:center;min-height:52px}
.claim-note{margin:0;font-size:14px;color:#c9e9d5}
.claim-note.bad{color:#ffb4b4}
.claim-go{min-height:54px;font-size:16px}
.claim-board{list-style:none;padding:0;margin:10px 0;display:grid;gap:6px;max-width:720px}
.claim-board li{display:grid;grid-template-columns:72px 1fr auto auto;align-items:center;gap:10px;padding:8px 12px;border-radius:12px;background:#171d24;border:1px solid #ffffff0d}
.claim-board .lv{font:700 12px Mono,monospace;color:#ffb1c1;letter-spacing:.06em}
.claim-board .who{display:flex;align-items:center;gap:10px;min-width:0}
.claim-board .who b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.claim-board .who img{width:32px;height:32px;object-fit:contain;border-radius:8px;background:#fffaf4;flex:none}
.claim-board .free{color:#8f8a93}
.claim-board .amt{font:700 14px Mono,monospace;color:#ffd092}
.claim-board .text-button{min-height:40px;white-space:nowrap}
.file-btn{cursor:pointer;display:inline-flex;align-items:center}
@media (max-width:560px){.claim-board li{grid-template-columns:58px 1fr auto;}.claim-board .text-button{grid-column:1/-1;justify-self:start;min-height:36px;padding:0}}
.quick-add{display:flex;flex-wrap:wrap;gap:8px}
.quick-add .chip{min-height:40px;padding:0 14px;border-radius:999px;border:1px solid #ffffff2e;background:#ffffff0d;color:#f4eef1;font-weight:700;cursor:pointer}
.quick-add .chip:hover{background:#ff8fbd;color:#1b0f14;border-color:#ff8fbd}
.rename{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin:8px 0}
.rename label{flex:1 1 180px}
.your-data{margin-top:28px;padding-top:16px;border-top:1px solid #ffffff1a}
/* Admin dashboard */
.admin-nav{display:flex;flex-wrap:wrap;gap:6px 16px;margin:6px 0 10px;font-weight:700}
.admin-nav a{color:#ffb1c1;text-decoration:none}
.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.stat{background:#171d24;border:1px solid #ffffff12;border-radius:12px;padding:12px 14px;display:grid;gap:4px}
.stat span{font:11px Mono,monospace;letter-spacing:.08em;text-transform:uppercase;color:#a99aa3}
.stat b{font-size:24px}
.stat small{color:#a99aa3;font-size:12px}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}
.chip{min-height:36px;padding:0 12px;border-radius:999px;border:1px solid #ffffff2e;background:#ffffff0d;color:#f4eef1;font-weight:700;cursor:pointer}
.chip.on{background:#ff8fbd;color:#1b0f14;border-color:#ff8fbd}
.search{display:flex;gap:8px;align-items:end;flex-wrap:wrap;max-width:640px}
.search label{flex:1 1 260px}
.user-detail{margin-top:14px;background:#171d24;border:1px solid #ffffff14;border-radius:14px;padding:14px 16px}
.user-detail h4{margin:14px 0 6px}
ul.plain{list-style:none;padding:0;margin:0;display:grid;gap:4px;font-size:14px}
section[id^="a-"]{scroll-margin-top:12px}
.live-tag{display:inline-flex;align-items:center;gap:6px;margin-left:10px;padding:3px 10px;border-radius:999px;background:#3ee07f1f;color:#9dffc8;font:700 11px/1.4 Mono,monospace;letter-spacing:.08em;vertical-align:middle;text-transform:uppercase}
.live-tag .live-dot{width:7px;height:7px;border-radius:50%;background:#3ee07f;animation:live-pulse 1.8s ease-out infinite}
.live-tag.stale{background:#ffb4b41f;color:#ffb4b4}.live-tag.stale .live-dot{background:#ff8a8a;animation:none}
@keyframes live-pulse{0%{box-shadow:0 0 0 0 #3ee07f99}100%{box-shadow:0 0 0 7px #3ee07f00}}

/* Advert performance (views and clicks) */
.ad-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 4px}
.ad-stats div{background:#0f141a;border:1px solid #ffffff1c;border-radius:10px;padding:10px 12px}
.ad-stats b{display:block;font-size:22px;color:#ffb1c1}
.ad-stats small{font:10px Mono,monospace;letter-spacing:.08em;color:#b9adb2;text-transform:uppercase}
.portal header nav{display:flex;gap:6px 16px;flex-wrap:wrap}

/* Contact form messages (admin) */
.messages{display:grid;gap:12px}
.msg{background:#1a2027;border:1px solid #ffffff1c;border-radius:12px;padding:14px 16px}
.msg header{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
.msg header a{color:#ffb1c1}
.msg p{white-space:normal;overflow-wrap:anywhere;margin:10px 0}
.msg-new{border-color:#ffb1c188}
.msg-spam{opacity:.6}
.new-tag{color:#feb300}.spam-tag{color:#ff8a8a}
