@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap");:root{--bg-dark:#110e1b;--bg-gradient:linear-gradient(135deg,#110e1b,#1f1a36);--card-bg:rgba(40,36,60,0.45);--card-border:rgba(255,255,255,0.08);--text-primary:#ffffff;--text-secondary:#a29db5;--brand-purple:#7950e5;--brand-purple-dark:#6a42d0;--color-finished:#37c9ff;--color-ongoing:#ffcc33;--color-road:#ff6bd5;--color-avg:#a5f2a5;--color-fastest:#00e676;--color-slowest:#ff5252;--gold:#ffd166;--silver:#cfd5e0;--bronze:#d08a4a}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:Poppins,system-ui,sans-serif;background:var(--bg-dark);background:var(--bg-gradient);background-attachment:fixed;color:var(--text-primary);min-height:100vh}a{color:inherit}.link{color:var(--color-finished);text-decoration:none;border-bottom:1px dashed transparent;transition:border-color .15s}.link:hover{border-bottom-color:var(--color-finished)}.muted{color:var(--text-secondary)}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:rgba(17,14,27,.7);border-bottom:1px solid var(--card-border)}.site-header__inner{max-width:1200px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.site-brand{display:inline-flex;align-items:center;gap:10px;font-weight:700;text-decoration:none;color:var(--text-primary);letter-spacing:.5px}.site-brand__dot{width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,var(--brand-purple),var(--color-finished));box-shadow:0 0 14px rgba(121,80,229,.5)}.site-nav{display:flex;align-items:center;gap:18px}.site-nav__link{text-decoration:none;color:var(--text-secondary);font-weight:500;font-size:.95rem;transition:color .15s}.site-nav__link:hover{color:var(--text-primary)}.btn-primary{background:var(--brand-purple);color:white;border:none;padding:10px 22px;font-size:.95rem;font-weight:600;border-radius:999px;cursor:pointer;box-shadow:0 4px 15px rgba(121,80,229,.4);transition:all .15s;font-family:inherit}.btn-primary:hover:not(:disabled){background:var(--brand-purple-dark);transform:translateY(-1px);box-shadow:0 6px 20px rgba(121,80,229,.55)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--text-primary);border:1px solid var(--card-border);padding:10px 22px;font-size:.95rem;font-weight:500;border-radius:999px;cursor:pointer;transition:all .15s;font-family:inherit}.btn-ghost:hover:not(:disabled){border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.04)}.container{max-width:1200px;margin:0 auto;padding:40px 24px}.container--narrow{max-width:720px}.hero{text-align:center;margin-bottom:40px}.hero h1{font-weight:800;text-transform:uppercase;letter-spacing:1px;font-size:2.5rem;margin:0 0 10px;text-shadow:0 4px 20px rgba(121,80,229,.4)}.hero__subtitle{color:var(--text-secondary);font-size:1rem;max-width:560px;margin:0 auto}h1{font-weight:800;font-size:2rem;margin:0 0 8px}h2{font-weight:700;margin-top:50px;margin-bottom:22px;border-left:5px solid var(--brand-purple);padding-left:14px;font-size:1.4rem}h3{margin:0;font-weight:600}.card{background:var(--card-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--card-border);border-radius:16px;padding:24px;box-shadow:0 8px 32px rgba(0,0,0,.2);margin-bottom:24px}.card h2,.card h3{margin-top:0;border:none;padding-left:0}.card--info{background:rgba(121,80,229,.08);border-color:rgba(121,80,229,.25)}.card--info ol{padding-left:20px}.card--info code{background:rgba(0,0,0,.3);padding:1px 6px;border-radius:4px;font-size:.85em}.callout{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;padding:32px;text-align:center;margin:32px auto;max-width:640px}.callout--error{border-color:rgba(255,82,82,.5);background:rgba(255,82,82,.05)}.form{gap:16px}.form,.form__field{display:flex;flex-direction:column}.form__field{gap:6px}.form__field span{font-size:.85rem;color:var(--text-secondary);font-weight:500}.form__field input{padding:12px 16px;border-radius:10px;border:1px solid var(--card-border);background:rgba(0,0,0,.25);color:var(--text-primary);font-family:inherit;font-size:.9rem}.form__field input:focus{outline:2px solid var(--brand-purple);outline-offset:1px;border-color:transparent}.form__actions{display:flex;gap:10px;flex-wrap:wrap}.form__message{margin:0;padding:10px 14px;border-radius:8px;font-size:.9rem}.form__message--ok{background:rgba(0,230,118,.1);color:var(--color-fastest);border:1px solid rgba(0,230,118,.3)}.form__message--err{background:rgba(255,82,82,.1);color:var(--color-slowest);border:1px solid rgba(255,82,82,.3)}.preview{margin-top:16px;font-size:.85rem}.preview summary{cursor:pointer;color:var(--text-secondary)}.preview ul{list-style:none;padding:12px;margin:8px 0 0;background:rgba(0,0,0,.25);border-radius:8px;word-break:break-all}.preview li{margin-bottom:6px}.preview code{font-size:.8em;color:var(--color-finished)}.auth-page{min-height:calc(100vh - 70px);display:grid;place-items:center;padding:40px 20px}.leaderboard{background:var(--card-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--card-border);border-radius:16px;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.2)}.leaderboard__table{width:100%;border-collapse:collapse}.leaderboard__table td,.leaderboard__table th{padding:14px 18px;text-align:left;border-bottom:1px solid var(--card-border)}.leaderboard__table th{background:rgba(121,80,229,.12);color:var(--text-primary);font-weight:600;text-transform:uppercase;font-size:.78rem;letter-spacing:1px;border-bottom:2px solid var(--brand-purple);-webkit-user-select:none;-moz-user-select:none;user-select:none}.leaderboard__table tr:last-child td{border-bottom:none}.leaderboard__table tbody tr:hover td{background:rgba(255,255,255,.03)}.leaderboard__table .num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;color:var(--text-primary)}.leaderboard__rank{width:60px;text-align:center}.sortable{cursor:pointer;transition:background .15s;white-space:nowrap}.sortable:hover{background:rgba(121,80,229,.2)}.sortable--active{color:var(--color-finished)}.sortable__arrow{display:inline-block;margin-left:6px;opacity:.6;font-size:.85em}.sortable--active .sortable__arrow{opacity:1}.leaderboard__player{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:inherit}.leaderboard__player:hover .leaderboard__name{color:var(--color-finished)}.leaderboard__avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;background:var(--brand-purple);display:inline-flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.leaderboard__avatar--fallback{color:white}.leaderboard__name{display:block;font-weight:600;color:var(--text-primary);transition:color .15s}.leaderboard__handle{display:block;font-size:.8rem;color:var(--text-secondary)}.rank-badge{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;font-weight:700;font-size:.9rem;background:rgba(255,255,255,.05);color:var(--text-secondary)}.rank-badge--gold{background:linear-gradient(135deg,#ffd166,#b88a18);color:#110e1b;box-shadow:0 0 14px rgba(255,209,102,.4)}.rank-badge--silver{background:linear-gradient(135deg,#e5e9f0,#8b95a8);color:#110e1b;box-shadow:0 0 12px rgba(207,213,224,.3)}.rank-badge--bronze{background:linear-gradient(135deg,#d08a4a,#7a4515);color:#110e1b;box-shadow:0 0 12px rgba(208,138,74,.3)}.user-header{display:flex;align-items:center;gap:18px;margin-bottom:32px}.user-header h1{margin:0}.user-header__avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;background:var(--brand-purple);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:1.6rem;flex-shrink:0}.user-header__avatar--fallback{color:white}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:22px;gap:22px;margin-bottom:32px}.stat-card{background:var(--card-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:24px;border-radius:16px;text-align:center;box-shadow:0 8px 32px rgba(0,0,0,.2);transition:transform .2s ease,box-shadow .2s ease;position:relative;overflow:hidden;border:1px solid var(--card-border);border-top:4px solid var(--card-border)}.stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.3)}.stat-card h3{font-size:.8rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-secondary);font-weight:600}.stat-card p{margin:12px 0 0;font-size:2.2rem;font-weight:700;line-height:1.2}.sub-stat{display:block;font-size:.85rem;color:var(--text-secondary);margin-top:4px}.stat-card--finished{border-top-color:var(--color-finished)}.stat-card--finished p{color:var(--color-finished);text-shadow:0 0 18px rgba(55,201,255,.3)}.stat-card--ongoing{border-top-color:var(--color-ongoing)}.stat-card--ongoing p{color:var(--color-ongoing);text-shadow:0 0 18px rgba(255,204,51,.3)}.stat-card--road{border-top-color:var(--color-road)}.stat-card--road p{color:var(--color-road);text-shadow:0 0 18px rgba(255,107,213,.3)}.stat-card--avg{border-top-color:var(--color-avg)}.stat-card--avg p{color:var(--color-avg)}.stat-card--fastest{border-top-color:var(--color-fastest)}.stat-card--fastest p{color:var(--color-fastest)}.stat-card--slowest{border-top-color:var(--color-slowest)}.stat-card--slowest p{color:var(--color-slowest)}.stat-card--fertig{border-top-color:var(--color-finished)}.stat-card--laufend{border-top-color:var(--color-ongoing)}.stat-card--geplant{border-top-color:var(--color-road)}.stat-card--offen{border-top-color:var(--card-border);opacity:.75}.special-maps .stat-card{display:flex;flex-direction:column;justify-content:center}.special-maps .stat-card p{font-size:1.4rem;margin-top:8px}.special-maps .stat-card h3{font-size:1rem;color:var(--text-primary);text-transform:none;letter-spacing:0}.status-fertig,.status-finished{color:var(--color-finished)!important;font-weight:700}.status-laufend,.status-ongoing{color:var(--color-ongoing)!important;font-weight:700}.status-geplant,.status-planned{color:var(--color-road)!important;font-weight:700}.status-offen{color:var(--text-secondary)!important;opacity:.6}.world-map{width:100%;height:600px;background:var(--card-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:24px;margin-bottom:32px;border:1px solid var(--card-border);box-shadow:0 8px 32px rgba(0,0,0,.2)}.charts-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));grid-gap:22px;gap:22px;margin-bottom:32px}.chart-container{background:var(--card-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:24px;border:1px solid var(--card-border);box-shadow:0 8px 32px rgba(0,0,0,.2);padding:24px;display:flex;flex-direction:column}.chart-container--full{grid-column:1/-1}.chart-container h3{margin:0 0 18px;color:var(--text-secondary);font-size:.95rem;text-transform:uppercase;letter-spacing:1px;text-align:center}.chart-box{width:100%;height:300px}.chart-placeholder{display:grid;place-items:center;height:300px;color:var(--text-secondary);margin-bottom:22px}.chart-placeholder,.data-table{width:100%;background:var(--card-bg);border-radius:16px}.data-table{border-collapse:collapse;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow:hidden;border:1px solid var(--card-border);box-shadow:0 8px 32px rgba(0,0,0,.1)}.data-table td,.data-table th{padding:16px 22px;text-align:left;border-bottom:1px solid var(--card-border)}.data-table th{background:rgba(121,80,229,.15);font-weight:600;text-transform:uppercase;font-size:.8rem;letter-spacing:1px;border-bottom:2px solid var(--brand-purple)}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:rgba(255,255,255,.03)}.data-table td{color:var(--text-secondary)}.data-table td:first-child{color:var(--text-primary);font-weight:600}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:#3e3a55;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--brand-purple)}@media (max-width:768px){.hero h1{font-size:1.8rem}.charts-row{grid-template-columns:1fr}.site-header__inner{padding:12px 16px;gap:12px}.site-nav{gap:10px}.site-nav__link{font-size:.85rem}.container{padding:24px 14px}.leaderboard__table td,.leaderboard__table th{padding:10px 8px;font-size:.85rem}.leaderboard__handle{display:none}}