*{box-sizing:border-box}body{margin:0;font-family:system-ui,Arial,sans-serif;background:#f5f7fb;color:#162033}.topbar{height:56px;background:#0f172a;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 18px;box-shadow:0 2px 8px #0002}.brand{font-weight:700}.nav{display:flex;gap:16px;align-items:center}.nav a{color:white;text-decoration:none}.container{max-width:1180px;margin:36px auto;padding:24px;background:white;border-radius:14px;box-shadow:0 8px 26px #0001}form{display:grid;gap:14px;max-width:420px}label{display:grid;gap:6px;font-weight:600}input{padding:10px;border:1px solid #cbd5e1;border-radius:8px}button{padding:10px 14px;border:0;border-radius:8px;background:#2563eb;color:white;cursor:pointer}.danger{background:#dc2626}.error{background:#fee2e2;color:#991b1b;padding:10px;border-radius:8px}.ok{background:#dcfce7;color:#166534;padding:10px;border-radius:8px}.menu{position:relative}#menuBtn{background:transparent;font-size:26px;line-height:1;padding:4px 10px}.dropdown{display:none;position:absolute;right:0;top:38px;background:white;min-width:180px;border-radius:10px;box-shadow:0 10px 30px #0003;overflow:hidden;z-index:31000}.dropdown.show{display:block}.dropdown a{display:block;color:#162033;padding:12px 14px;text-decoration:none}.dropdown a:hover{background:#f1f5f9}table{width:100%;border-collapse:collapse}td,th{padding:10px;border-bottom:1px solid #e5e7eb;text-align:left}td form,tr form{display:contents}

.admin-head{display:flex;justify-content:space-between;align-items:end;gap:20px}.admin-head p{margin:0;color:#64748b}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0}.stat{padding:18px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.stat strong,.stat span{display:block}.stat strong{font-size:1.6rem}.stat span{color:#64748b}.filters{display:flex;align-items:end;gap:12px;max-width:none;margin-bottom:14px}.filters label{min-width:210px}.filters select{padding:10px;border:1px solid #cbd5e1;border-radius:8px;background:white}.filters a{padding:10px;color:#475569}.table-wrap{overflow-x:auto}.admin-table small{display:block;color:#64748b;margin-top:3px}.admin-table input[type=email]{min-width:210px;width:100%}.inline-check{display:flex;align-items:center;gap:6px;font-weight:500;white-space:nowrap}.inline-check input{margin:0}.actions{white-space:nowrap}.empty{text-align:center;color:#64748b;padding:25px}@media(max-width:720px){.stats{grid-template-columns:1fr}.filters{align-items:stretch;flex-direction:column}.filters label{min-width:0}}
.avatar-button{width:42px;height:42px;padding:0!important;border:2px solid #ffffff55;border-radius:50%;overflow:hidden;background:#334155!important;display:grid;place-items:center;font-weight:700;font-size:1rem}.avatar-button img{width:100%;height:100%;object-fit:cover;display:block}.avatar-button span{color:white}.avatar-setting{display:flex;align-items:center;gap:16px}.avatar-preview{width:88px;height:88px;flex:0 0 88px;border-radius:50%;object-fit:cover;border:3px solid #e2e8f0}.avatar-fallback{display:grid;place-items:center;background:#334155;color:white;font-size:2rem;font-weight:700}.avatar-setting small{display:block;margin-top:5px;color:#64748b}.profile-form{margin-bottom:22px}.form-actions{display:flex;gap:10px}.secondary{background:#64748b}
.eyebrow{margin:0;color:#2563eb;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.dashboard-head{display:flex;align-items:end;justify-content:space-between;gap:20px}.dashboard-head h1{margin:.2rem 0}.dashboard-head p:last-child{margin:.2rem 0 0;color:#64748b}.button-link{display:inline-block;padding:10px 14px;border-radius:8px;background:#2563eb;color:white;text-decoration:none;font-weight:600}.dashboard-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:26px 0}.dashboard-stat{padding:18px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc;color:inherit;text-decoration:none}.dashboard-stat span,.dashboard-stat strong,.dashboard-stat small{display:block}.dashboard-stat span{color:#64748b;font-size:.9rem}.dashboard-stat strong{font-size:2rem;margin:5px 0}.dashboard-stat small{color:#64748b}.dashboard-stat.warning{background:#fffbeb;border-color:#fde68a}.dashboard-stat.danger-stat{background:#fef2f2;border-color:#fecaca}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px}.dashboard-card{border:1px solid #e2e8f0;border-radius:14px;padding:18px;min-width:0}.card-head{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:16px}.card-head h2{font-size:1.05rem;margin:0}.card-head p{color:#64748b;font-size:.86rem;margin:3px 0 0}.card-head a,.text-button{color:#2563eb;text-decoration:none;background:none;padding:0;font-weight:600}.signup-chart{height:190px;display:grid;grid-template-columns:repeat(7,1fr);align-items:end;gap:14px;padding-top:10px}.chart-day{text-align:center;height:100%;display:grid;grid-template-rows:20px 1fr 20px;gap:5px}.chart-value,.chart-day small{font-size:.78rem;color:#64748b}.chart-track{height:100%;background:#f1f5f9;border-radius:7px;position:relative;overflow:hidden}.chart-track i{position:absolute;left:0;right:0;bottom:0;background:#3b82f6;border-radius:7px 7px 0 0}.status-list,.attempt-list{list-style:none;padding:0;margin:0}.status-list li,.attempt-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid #f1f5f9}.status-list li:last-child,.attempt-list li:last-child{border:0}.status{font-size:.78rem;padding:4px 8px;border-radius:999px}.status.online{background:#dcfce7;color:#166534}.status.offline{background:#fee2e2;color:#991b1b}.user-list{display:grid}.user-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto 75px;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f1f5f9;color:inherit;text-decoration:none}.user-row:last-child{border:0}.mini-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#334155;color:white;font-weight:700;overflow:hidden}.mini-avatar img{width:100%;height:100%;object-fit:cover}.user-info strong,.user-info small{display:block}.user-info small{color:#64748b;overflow:hidden;text-overflow:ellipsis}.user-row time,.attempt-list time{color:#64748b;font-size:.82rem}.badge{font-size:.75rem;padding:4px 8px;border-radius:999px;background:#dcfce7;color:#166534}.badge-blue{background:#dbeafe;color:#1d4ed8}.badge-red{background:#fee2e2;color:#991b1b}.compact-form{display:block}.attempt-list strong,.attempt-list small{display:block}.attempt-list small{color:#64748b;font-size:.78rem}.empty-note{color:#64748b;text-align:center;padding:25px 0}@media(max-width:850px){.dashboard-stats{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}}@media(max-width:560px){.dashboard-head{align-items:start;flex-direction:column}.dashboard-stats{grid-template-columns:1fr}.user-row{grid-template-columns:42px 1fr auto}.user-row time{display:none}.signup-chart{gap:6px}}
.avatar-editor{width:min(92vw,620px);padding:0;border:0;border-radius:18px;box-shadow:0 24px 80px #0006;color:#162033}.avatar-editor::backdrop{background:#0f172acc;backdrop-filter:blur(3px)}.editor-head{display:flex;align-items:start;justify-content:space-between;gap:16px;padding:20px 22px 14px}.editor-head h2{margin:0;font-size:1.25rem}.editor-head p{margin:5px 0 0;color:#64748b;font-size:.9rem}.icon-button{width:34px;height:34px;padding:0;border-radius:50%;background:#e2e8f0;color:#162033;font-size:1.4rem}.crop-stage{width:min(78vw,420px);aspect-ratio:1;margin:0 auto;position:relative;overflow:hidden;background:#0f172a;cursor:grab;touch-action:none;user-select:none}.crop-stage:active{cursor:grabbing}.crop-stage canvas{display:block;width:100%;height:100%}.crop-ring{position:absolute;inset:7%;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 999px #0f172a55;pointer-events:none}.editor-controls{display:grid;grid-template-columns:1fr auto;align-items:end;gap:20px;padding:18px 22px}.editor-controls label{min-width:0}.editor-controls input[type=range]{width:100%;padding:0}.rotate-controls{display:flex;gap:8px}.editor-actions{display:flex;justify-content:flex-end;gap:10px;padding:0 22px 22px}@media(max-width:560px){.editor-controls{grid-template-columns:1fr}.rotate-controls button{flex:1}.rotate-controls{display:flex}.avatar-setting{align-items:flex-start;flex-direction:column}}
.login-page{min-height:100vh;background:linear-gradient(145deg,#eef4ff 0%,#f8fafc 48%,#e8eef8 100%);display:grid;place-items:center;padding:24px}.login-container{width:100%;max-width:460px;margin:0;padding:0;background:transparent;box-shadow:none}.login-card{width:100%;padding:34px;background:#fff;border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 20px 55px #0f172a18;text-align:center}.login-logo{display:block;width:min(440px,100%);max-height:290px;object-fit:contain;margin:0 auto 22px}.login-card h1{margin:0;font-size:1.8rem}.login-intro{margin:7px 0 24px;color:#64748b}.login-form{max-width:none;text-align:left}.login-form button{width:100%;margin-top:3px}.login-links{display:flex;justify-content:center;align-items:center;gap:9px;flex-wrap:wrap;margin:22px 0 0;font-size:.92rem}.login-links a{color:#2563eb;text-decoration:none}.login-links a:hover{text-decoration:underline}.login-links span{color:#94a3b8}@media(max-width:500px){.login-page{padding:14px}.login-card{padding:26px 20px}.login-logo{max-height:240px}}
.brand-logo{height:48px;max-width:240px;display:flex;align-items:center}.brand-logo img{display:block;max-width:100%;max-height:44px;width:auto;height:auto;object-fit:contain}@media(max-width:560px){.brand-logo{max-width:160px}.brand-logo img{max-height:38px}}
.top-left{display:flex;align-items:center;gap:12px}.main-menu{position:relative}.hamburger{width:42px;height:38px;padding:8px;background:#1e293b;border:1px solid #ffffff33;display:grid;gap:4px}.hamburger span{display:block;height:3px;background:#fff;border-radius:999px}.site-menu{display:none;position:absolute;left:0;top:46px;width:260px;background:white;border-radius:14px;box-shadow:0 16px 40px #0003;overflow:hidden;z-index:31000}.site-menu.show{display:block}.site-menu a{display:block;color:#162033;text-decoration:none;padding:13px 16px;border-bottom:1px solid #f1f5f9}.site-menu a:hover{background:#f8fafc}.friends-link{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#ffffff12;border:1px solid #ffffff33}.friends-link img{max-width:25px;max-height:25px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px}.page-head h1{margin:.15rem 0}.page-head p:last-child{margin:.2rem 0 0;color:#64748b}.secondary-link{background:#64748b}.empty-state{padding:32px;border:1px dashed #cbd5e1;border-radius:16px;background:#f8fafc;text-align:center}.session-table tr{cursor:pointer}.session-table tbody tr:hover{background:#f8fafc}.sport-pill{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.sport-pill img{width:28px;height:28px;object-fit:contain}.wide-form{max-width:760px}.wide-form select,.wide-form textarea{padding:10px;border:1px solid #cbd5e1;border-radius:8px;background:white;font:inherit}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0}.metric{padding:18px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc}.metric span,.metric strong{display:block}.metric span{color:#64748b}.metric strong{font-size:1.35rem;margin-top:4px}.placeholder-map{height:280px;border-radius:18px;background:linear-gradient(135deg,#dbeafe,#ecfeff);border:1px solid #bfdbfe;display:grid;place-items:center;color:#1e3a8a;font-weight:700;margin:22px 0}.sport-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.sport-card{padding:18px;border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc;text-decoration:none;color:#162033;display:grid;gap:8px;place-items:center;text-align:center}.sport-card img{height:70px;object-fit:contain}.sport-card span{color:#64748b}.login-description{margin:0 auto 20px;max-width:390px;color:#475569;line-height:1.45;font-size:.95rem}@media(max-width:720px){.page-head{align-items:start;flex-direction:column}.metric-grid{grid-template-columns:1fr}.topbar{padding:0 10px}.nav{gap:8px}.site-menu{width:230px}.container{margin:18px 10px;padding:18px}}
.session-map{height:min(78vh,840px);min-height:560px;border-radius:18px;overflow:hidden;border:1px solid #bfdbfe;box-shadow:0 12px 28px #0f172a12;margin:22px 0}.leaflet-container{font-family:system-ui,Arial,sans-serif}
@media(max-width:720px){.session-map{height:68vh;min-height:360px}}
.map-panel{margin:22px 0;display:grid;gap:14px}.session-map{width:100%;height:min(78vh,840px);min-height:560px;border:0;border-radius:18px;overflow:hidden;box-shadow:0 12px 28px #0f172a12;background:#dbeafe}.leaflet-map{border:1px solid #bfdbfe}.track-preview{border:1px solid #dbeafe;border-radius:16px;background:#f8fbff;padding:14px}.track-preview strong,.track-preview small{display:block}.track-preview small{color:#64748b;margin-top:6px}.track-preview svg{width:100%;height:auto;display:block;overflow:visible;margin-top:8px;background:linear-gradient(135deg,#eff6ff,#ecfeff);border-radius:12px}@media(max-width:720px){.session-map{height:68vh;min-height:360px}}
.metric-grid-small{grid-template-columns:repeat(6,1fr);margin-top:-8px}.metric small{display:block;color:#64748b;margin-top:4px}.recalc-form{display:flex;align-items:center;gap:12px;max-width:none;margin:8px 0 18px}.recalc-form small{color:#64748b}@media(max-width:980px){.metric-grid-small{grid-template-columns:repeat(3,1fr)}}@media(max-width:720px){.metric-grid-small{grid-template-columns:1fr}.recalc-form{align-items:flex-start;flex-direction:column}}
.map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 14px;border:1px solid #dbeafe;border-radius:14px;background:#f8fbff}.speed-toggle{display:flex!important;grid-template-columns:none;align-items:center;gap:8px;font-weight:700}.speed-toggle input{width:18px;height:18px;padding:0}.speed-legend{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#64748b;font-size:.86rem}.speed-legend span{display:inline-flex;align-items:center;gap:5px}.speed-legend i{width:18px;height:5px;border-radius:999px;display:inline-block}.speed-c1{background:#2563eb}.speed-c2{background:#16a34a}.speed-c3{background:#eab308}.speed-c4{background:#f97316}.speed-c5{background:#dc2626}
.gybe-card{margin:18px 0}.gybe-list td,.gybe-list th{white-space:nowrap}.wind-picker{display:flex;align-items:center;gap:14px;margin-top:-6px}.wind-picker small{color:#64748b}.wind-dial{width:118px;height:118px;border-radius:50%;background:radial-gradient(circle,#fff 0 48%,#dbeafe 49% 100%);border:1px solid #bfdbfe;color:#0f172a;position:relative;display:grid;place-items:center;box-shadow:inset 0 0 0 8px #f8fafc}.wind-dial span{position:absolute;left:50%;top:50%;width:4px;height:42px;background:#dc2626;border-radius:999px;transform-origin:50% 100%;transform:translate(-50%,-100%) rotate(0deg)}.wind-dial span:after{content:"";position:absolute;left:50%;top:-7px;transform:translateX(-50%);border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:11px solid #dc2626}.wind-dial b{position:absolute;top:7px;font-size:.8rem}.wind-dial em{font-style:normal;font-size:.8rem;color:#64748b;margin-top:32px}@media(max-width:560px){.wind-picker{align-items:flex-start;flex-direction:column}}
.gybe-legend i{width:12px;height:12px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #cbd5e1}.gybe-power{background:#16a34a}.gybe-normal{background:#eab308}.gybe-failed{background:#dc2626}

.gybe-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.gybe-counts b{display:grid;gap:2px;padding:8px;border-radius:10px;background:#eef6ff;text-align:center;font-size:1.25rem}.gybe-counts em{font-style:normal;color:#64748b;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.gybe-count-metric{padding-bottom:12px}@media(max-width:520px){.gybe-counts{grid-template-columns:1fr}}

.sport-picker{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;max-width:760px}.sport-picker legend{font-weight:700;margin-bottom:8px}.sport-option{display:block}.sport-option input{position:absolute;opacity:0;pointer-events:none}.sport-choice{min-height:132px;padding:14px;border:2px solid #e2e8f0;border-radius:16px;background:#f8fafc;display:grid;gap:8px;place-items:center;text-align:center;cursor:pointer;opacity:.35;transition:.15s ease}.sport-choice img{height:72px;max-width:100%;object-fit:contain}.sport-choice strong{font-size:.92rem}.sport-option input:checked+.sport-choice{opacity:1;border-color:#2563eb;background:#eff6ff;box-shadow:0 10px 24px #2563eb18}.sport-option input:focus-visible+.sport-choice{outline:3px solid #93c5fd;outline-offset:2px}@media(max-width:560px){.sport-picker{grid-template-columns:repeat(2,1fr)}.sport-choice{min-height:118px}.sport-choice img{height:58px}}

.year-session-list{display:grid;gap:24px}.year-block{border:1px solid #e2e8f0;border-radius:18px;background:#fff;overflow:hidden}.year-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;background:linear-gradient(135deg,#f8fbff,#eff6ff);border-bottom:1px solid #e2e8f0}.year-head h2{margin:.1rem 0 0;font-size:1.8rem}.year-summary{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.year-summary span{padding:8px 10px;border-radius:999px;background:#fff;border:1px solid #dbeafe;color:#64748b;font-size:.86rem}.year-summary strong{color:#162033}.year-block .table-wrap{padding:0 12px 12px}@media(max-width:720px){.year-head{align-items:flex-start;flex-direction:column}.year-summary{justify-content:flex-start}.year-block .table-wrap{padding:0}}

.sport-tabs{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.sport-tab{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:999px;background:#f8fafc;color:#162033;text-decoration:none;opacity:.55}.sport-tab.active{opacity:1;border-color:#2563eb;background:#eff6ff;box-shadow:0 8px 18px #2563eb14}.sport-tab img{width:34px;height:34px;object-fit:contain}.material-form-card{margin:18px 0}.material-form{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}.material-form label:nth-last-child(3),.material-form label:nth-last-child(2){grid-column:1/-1}.material-form button{justify-self:start}.material-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:18px}.material-card{border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc;padding:16px;display:grid;gap:8px}.material-card-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.material-card-head span{color:#2563eb;font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.material-card-head b{font-size:.75rem;padding:4px 8px;border-radius:999px;background:#dcfce7;color:#166534}.material-card h3{margin:0;font-size:1.1rem}.material-card p,.material-card small{margin:0;color:#64748b}.material-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}.material-actions form{display:block;max-width:none}.material-actions .danger{padding:8px 10px}.material-picker{border:1px solid #e2e8f0;border-radius:16px;padding:14px;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;max-width:760px}.material-picker legend{font-weight:800;padding:0 6px}.material-option{display:block}.material-option input{position:absolute;opacity:0;pointer-events:none}.material-option span{min-height:64px;display:grid;gap:3px;padding:10px 12px;border:2px solid #e2e8f0;border-radius:14px;background:#f8fafc;cursor:pointer;opacity:.55}.material-option b{font-size:.72rem;color:#2563eb;text-transform:uppercase;letter-spacing:.05em}.material-option input:checked+span{opacity:1;border-color:#2563eb;background:#eff6ff;box-shadow:0 8px 18px #2563eb14}.session-material-card{margin:18px 0}.session-material-list{display:flex;gap:10px;flex-wrap:wrap}.session-material-list span{display:grid;gap:2px;padding:9px 12px;border-radius:14px;background:#eff6ff;border:1px solid #dbeafe}.session-material-list b{font-size:.72rem;color:#2563eb;text-transform:uppercase;letter-spacing:.05em}@media(max-width:720px){.material-form{grid-template-columns:1fr}.material-actions{align-items:flex-start;flex-direction:column}.sport-tab{flex:1 1 160px}.material-picker{grid-template-columns:1fr}}
.material-picker-head{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:4px 0 8px}.material-picker-head small{color:#64748b;max-width:430px}.material-picker .empty-note{grid-column:1/-1;padding:12px 0}.material-picker .empty-note a{color:#2563eb;font-weight:700;text-decoration:none}

.session-media-sidebar{float:right;width:280px;margin:0 0 22px 24px;position:sticky;top:74px;z-index:5}.media-card{padding:14px}.media-upload-form{max-width:none;display:grid;gap:10px;margin-bottom:12px}.media-upload-form input[type=file]{width:100%;font-size:.86rem}.media-upload-form button{width:100%}.session-media-list{display:grid;gap:12px}.session-media-item{border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc;padding:8px;display:grid;gap:8px}.media-open{position:relative;width:100%;aspect-ratio:4/3;border:0;padding:0;border-radius:12px;overflow:hidden;background:#0f172a;display:block}.media-open img,.media-open video{width:100%;height:100%;object-fit:cover;display:block}.media-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#0009;color:#fff;font-size:1.25rem}.media-meta{display:grid;gap:2px}.media-meta span{font-weight:700;font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-meta small{color:#64748b}.session-media-item form{max-width:none;display:block}.session-media-item .danger{width:100%;padding:8px 10px}.media-lightbox{width:min(96vw,1180px);height:min(92vh,820px);padding:0;border:0;border-radius:18px;background:#020617;color:#fff;box-shadow:0 24px 90px #000a}.media-lightbox::backdrop{background:#020617dd;backdrop-filter:blur(3px)}.lightbox-stage{position:absolute;inset:54px 74px 58px;display:grid;place-items:center}.lightbox-stage img,.lightbox-stage video{max-width:100%;max-height:100%;object-fit:contain;border-radius:10px}.lightbox-close{position:absolute;right:16px;top:12px;z-index:2;width:40px;height:40px;padding:0;border-radius:50%;background:#ffffff22;color:#fff;font-size:1.8rem}.lightbox-nav{position:absolute;top:50%;z-index:2;transform:translateY(-50%);width:48px;height:70px;padding:0;border-radius:999px;background:#ffffff22;color:#fff;font-size:3rem;line-height:1}.lightbox-prev{left:14px}.lightbox-next{right:14px}.media-lightbox p{position:absolute;left:20px;right:20px;bottom:12px;text-align:center;margin:0;color:#cbd5e1;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1100px){.session-media-sidebar{float:none;width:auto;margin:0 0 22px;position:static}.session-media-list{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}@media(max-width:640px){.lightbox-stage{inset:58px 12px 70px}.lightbox-nav{top:auto;bottom:10px;width:54px;height:44px;font-size:2rem}.lightbox-prev{left:70px}.lightbox-next{right:70px}.media-lightbox p{bottom:58px}}
.share-card{margin:18px 0}.share-builder{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:18px;align-items:start}.share-controls{display:grid;gap:12px}.share-controls label{font-weight:700}.share-controls select{padding:10px;border:1px solid #cbd5e1;border-radius:8px;background:white;font:inherit}.share-fields{border:1px solid #e2e8f0;border-radius:14px;padding:12px;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.share-fields legend{font-weight:800;padding:0 6px}.share-fields label{display:flex;align-items:center;gap:7px;font-weight:600;color:#475569}.share-fields input{width:17px;height:17px;padding:0}.share-actions{display:flex;gap:10px;flex-wrap:wrap}.share-actions button{flex:1 1 150px}.share-controls small{color:#64748b;line-height:1.4}.share-builder canvas{width:100%;height:auto;border-radius:18px;background:#0f172a;box-shadow:0 14px 34px #0f172a22;border:1px solid #dbeafe}@media(max-width:900px){.share-builder{grid-template-columns:1fr}.share-fields{grid-template-columns:1fr 1fr}}@media(max-width:520px){.share-fields{grid-template-columns:1fr}.share-actions{flex-direction:column}}
/* People Connect */
.friends-link{position:relative}.nav-badge{position:absolute;right:-7px;top:-7px;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#dc2626;color:#fff;border:2px solid #0f172a;font-size:.72rem;font-weight:900;display:grid;place-items:center;line-height:1}.people-search-card{margin-bottom:18px}.people-search-form{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:12px;max-width:none}.people-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.people-list{display:grid;gap:10px}.people-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc}.people-row.compact{grid-template-columns:42px minmax(0,1fr) auto}.people-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.people-actions form{display:block;max-width:none}.people-actions button{white-space:nowrap}.two-actions{display:flex;gap:8px;flex-wrap:wrap}.people-friends-card{margin-top:18px}.people-friend-list .people-row{background:#fff}.badge-blue{display:inline-flex;align-items:center;justify-content:center;min-height:26px}@media(max-width:780px){.people-search-form{grid-template-columns:1fr}.people-grid{grid-template-columns:1fr}.people-row,.people-row.compact{grid-template-columns:42px minmax(0,1fr)}.people-actions{grid-column:1/-1;justify-content:flex-start}.people-actions form,.people-actions button{width:100%}.two-actions{width:100%}}

/* Layout polish */
.topbar{position:sticky;top:0;z-index:30000}.container{scroll-margin-top:76px}.session-media-sidebar{width:min(25vw,280px);max-width:25vw}.session-media-list{grid-template-columns:1fr}.media-open{aspect-ratio:4/3}.share-card .card-head button{white-space:nowrap}.share-control-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.share-builder[hidden]{display:none!important}.share-builder:not([hidden]){display:grid}.share-fields{grid-template-columns:repeat(2,1fr)}

/* People Connect layout */
.people-layout{display:grid;grid-template-columns:minmax(280px,.95fr) minmax(360px,1.35fr);grid-template-areas:"search chat" "requests chat" "friends chat";gap:18px;align-items:start}.people-search-card{grid-area:search}.people-requests-card{grid-area:requests}.people-friends-card{grid-area:friends}.people-chat-card{grid-area:chat;position:sticky;top:76px}.people-panel{min-width:0}.people-search-form{grid-template-columns:1fr auto}.request-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.request-columns h3{font-size:.92rem;margin:0 0 8px;color:#475569}.friend-tile{text-decoration:none;color:inherit;position:relative}.friend-tile.active{border-color:#2563eb;background:#eff6ff;box-shadow:0 8px 20px #2563eb14}.inline-badge{position:static;border-color:#fff}.chat-title{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc;margin-bottom:12px}.chat-messages{height:min(52vh,520px);overflow:auto;display:grid;align-content:start;gap:10px;padding:12px;border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc}.chat-message{max-width:78%;padding:10px 12px;border-radius:16px;background:#fff;border:1px solid #e2e8f0}.chat-message.own{justify-self:end;background:#2563eb;color:#fff;border-color:#2563eb}.chat-message p{margin:0;line-height:1.35}.chat-message small{display:block;margin-top:5px;color:#64748b;font-size:.74rem}.chat-message.own small{color:#dbeafe}.chat-form{max-width:none;margin-top:12px}.chat-form textarea{padding:10px;border:1px solid #cbd5e1;border-radius:8px;font:inherit;resize:vertical}.remove-friend-form{max-width:none;display:block;margin-top:10px}.remove-friend-form button{width:100%}@media(max-width:1100px){.session-media-sidebar{float:none;width:auto;max-width:none;margin:0 0 22px;position:static}.people-layout{grid-template-columns:1fr;grid-template-areas:"search" "requests" "friends" "chat"}.people-chat-card{position:static}.request-columns{grid-template-columns:1fr}}@media(max-width:640px){.share-control-grid{grid-template-columns:1fr}.people-search-form{grid-template-columns:1fr}.chat-message{max-width:92%}}

/* Session sections and friendly notices */
.session-section{display:block;margin:18px 0;border:1px solid #e2e8f0;border-radius:16px;background:#fff;overflow:hidden}.session-section>summary{cursor:pointer;list-style:none;padding:15px 18px;font-weight:850;color:#0f172a;background:linear-gradient(135deg,#f8fbff,#eff6ff);border-bottom:1px solid #e2e8f0}.session-section>summary::-webkit-details-marker{display:none}.session-section>summary:after{content:"+";float:right;font-size:1.25rem;color:#2563eb}.session-section[open]>summary:after{content:"-"}.session-section>.dashboard-card,.session-section>.metric-grid,.session-section>.map-panel,.session-section>form{margin:18px}.session-section>.dashboard-card{border:0;padding:0}.session-section>.metric-grid+.metric-grid{margin-top:0}.session-section .share-card{margin:18px}.error,.ok{line-height:1.45}.error:before{content:"Hinweis: ";font-weight:800}.ok:before{content:"OK: ";font-weight:800}@media(max-width:720px){.session-section>summary{padding:13px 14px}.session-section>.dashboard-card,.session-section>.metric-grid,.session-section>.map-panel,.session-section>form{margin:14px}.container{margin:10px 8px;padding:14px}.topbar{height:auto;min-height:56px}.brand-logo{max-width:132px}.hamburger,.avatar-button,.friends-link{width:38px;height:38px}.nav{gap:6px}.dashboard-card{padding:14px}.page-head h1{font-size:1.55rem}}

/* Compact cancel button for People Connect */
.icon-cancel-form{display:block!important;max-width:none!important;justify-self:end}.icon-cancel{width:30px!important;height:30px!important;min-width:30px;padding:0!important;border-radius:50%;background:#dc2626!important;color:#fff;font-size:1.2rem;font-weight:900;line-height:1;display:grid;place-items:center}.icon-cancel:hover{background:#b91c1c!important}.people-row.compact .user-info{min-width:0}.people-row.compact .user-info strong,.people-row.compact .user-info small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Session media right edge + analysis dashboard */
@media(min-width:1180px){
  .session-media-sidebar{position:fixed;right:18px;top:78px;float:none;width:min(25vw,280px);max-width:280px;max-height:calc(100vh - 96px);overflow:auto;margin:0;z-index:20}
  body:has(.session-media-sidebar) .container{max-width:min(1180px,calc(100vw - 340px));margin-left:max(18px,calc((100vw - 1180px - 320px)/2));margin-right:320px}
}
.analysis-filter{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:16px 0}.analysis-filter label{display:grid;gap:6px;font-weight:800;color:#334155}.analysis-filter select{min-width:150px;padding:10px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;font:inherit}.analysis-filter .button-link{align-self:end}.analysis-filter a:not(.button-link){align-self:center;color:#2563eb;font-weight:800;text-decoration:none}.analysis-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:18px;margin:18px 0}.analysis-highlights{display:grid;gap:10px}.highlight-row{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #e2e8f0}.highlight-row:last-child{border-bottom:0}.highlight-row span{color:#64748b}.highlight-row strong{text-align:right}.month-chart{display:grid;grid-template-columns:repeat(auto-fit,minmax(34px,1fr));gap:8px;align-items:end;min-height:190px;margin-top:14px}.month-bar{text-decoration:none;color:#334155;display:grid;grid-template-rows:1fr auto auto;gap:6px;align-items:end;justify-items:center;min-height:178px}.month-bar span{width:100%;min-height:6px;border-radius:999px 999px 6px 6px;background:linear-gradient(180deg,#38bdf8,#2563eb);box-shadow:0 8px 18px #2563eb24}.month-bar b{font-size:.78rem}.month-bar small{font-size:.7rem;color:#64748b}.material-analysis-card{margin-top:18px}.material-strip{display:flex;gap:10px;overflow:auto;padding:4px 2px 12px}.material-chip{min-width:210px;text-decoration:none;color:#162033;border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc;padding:12px;display:grid;gap:4px}.material-chip b{color:#2563eb;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.material-chip span{font-weight:850}.material-chip small{color:#64748b}.material-chip.active{border-color:#2563eb;background:#eff6ff;box-shadow:0 10px 22px #2563eb18}.material-detail{margin-top:10px;padding:14px;border-radius:16px;background:#f8fafc;border:1px solid #e2e8f0}.material-detail h3{margin:0 0 10px}.empty-note{color:#64748b}@media(max-width:900px){.analysis-grid{grid-template-columns:1fr}.analysis-filter{align-items:stretch}.analysis-filter label,.analysis-filter .button-link{width:100%}.analysis-filter select{width:100%}}
/* Analysis refinements */
.month-bar i{width:100%;min-height:6px;border-radius:999px 999px 6px 6px;background:linear-gradient(180deg,#38bdf8,#2563eb);box-shadow:0 8px 18px #2563eb24;display:block}.month-bar.active i{background:linear-gradient(180deg,#f97316,#dc2626)}.month-bar.active b{color:#dc2626}.month-bar span{background:none;box-shadow:none;min-height:0;width:auto}.analysis-highlights{list-style:none;margin:0;padding:0}.analysis-highlights li{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #e2e8f0}.analysis-highlights li:last-child{border-bottom:0}.analysis-highlights span{color:#64748b}.analysis-highlights strong{text-align:right}.metric-grid-small{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}

/* Ranking split */
.ranking-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.ranking-grid .clickable-row{cursor:pointer}.ranking-grid .locked-row{opacity:.72}@media(max-width:1000px){.ranking-grid{grid-template-columns:1fr}}

/* Gallery */
.gallery-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:start}.gallery-user-panel{position:sticky;top:78px}.gallery-user-panel h2{margin:0 0 12px}.gallery-user-panel h3{margin:18px 0 8px;font-size:.92rem;color:#475569}.gallery-user-list{display:grid;gap:8px}.gallery-user{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:center;padding:9px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc;color:inherit;text-decoration:none}.gallery-user.active{border-color:#2563eb;background:#eff6ff;box-shadow:0 8px 20px #2563eb14}.gallery-user strong,.gallery-user small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gallery-user small{color:#64748b}.compact-empty{padding:8px 0;text-align:left}.gallery-content{min-width:0}.gallery-head-card{margin-bottom:18px}.gallery-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.gallery-media-item{border:1px solid #e2e8f0;border-radius:14px;background:#fff;padding:8px;display:grid;gap:8px;min-width:0}.gallery-media-caption{display:grid;gap:2px;min-width:0}.gallery-media-caption strong,.gallery-media-caption small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gallery-media-caption strong{font-size:.86rem}.gallery-media-caption small{font-size:.75rem;color:#64748b}@media(max-width:1300px){.gallery-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:1100px){.gallery-layout{grid-template-columns:1fr}.gallery-user-panel{position:static}.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:760px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-user-list{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}}@media(max-width:520px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.gallery-filter{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin:0 0 18px}.gallery-filter label{display:grid;gap:5px;font-weight:800;color:#334155}.gallery-filter select{padding:9px;border:1px solid #cbd5e1;border-radius:9px;background:#fff}.gallery-filter button{align-self:end}

.share-link-card{margin:18px 0}.share-link-input{width:100%;padding:11px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc;font:inherit;color:#334155}

/* Privacy / sharing clarity */
.privacy-panel{grid-column:1/-1;border:1px solid #dbeafe;border-radius:16px;background:linear-gradient(135deg,#f8fbff,#eff6ff);padding:16px;display:grid;gap:12px}.privacy-panel h2{margin:0}.privacy-panel p{margin:0;color:#475569}.privacy-panel label{display:grid;gap:5px}.privacy-panel small,.form-help{display:block;color:#64748b;line-height:1.35;margin-top:4px}.privacy-note,.privacy-warning{border-radius:12px;padding:11px 12px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}.visibility-card{margin:18px 0;background:#f8fafc}.visibility-card small{color:#64748b}.share-link-card .card-head{align-items:center}.share-link-card button{white-space:nowrap}@media(max-width:640px){.share-link-card .card-head{align-items:flex-start;flex-direction:column}.share-link-card button{width:100%}}
/* Forum and classifieds polish */
.forum-topic-form,.classified-form{max-width:none;grid-template-columns:1fr 1fr;align-items:end}.forum-topic-form label:last-of-type,.classified-form label:nth-last-child(2){grid-column:1/-1}.forum-topic-form button,.classified-form button{justify-self:start}.forum-topic-list,.forum-thread{display:grid;gap:14px;margin-top:18px}.forum-topic{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:13px;text-decoration:none;color:inherit;background:linear-gradient(135deg,#fff,#f8fbff);transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.forum-topic:hover{transform:translateY(-2px);border-color:#bfdbfe;box-shadow:0 12px 26px #2563eb14}.forum-topic strong,.forum-topic small{display:block}.forum-topic strong{font-size:1.02rem}.forum-topic small,.forum-topic em{color:#64748b}.forum-topic em{font-style:normal;padding:7px 10px;border-radius:999px;background:#eff6ff;color:#2563eb;font-weight:800;font-size:.82rem;white-space:nowrap}.forum-post{background:linear-gradient(135deg,#fff,#fbfdff)}.forum-post.main-post{border-color:#bfdbfe;box-shadow:0 10px 24px #2563eb10}.forum-author{display:flex;align-items:center;gap:10px;margin-bottom:12px}.forum-author strong,.forum-author small{display:block}.forum-author small{color:#64748b}.forum-post p{line-height:1.58;margin:8px 0 0;white-space:normal}.forum-post form{max-width:none;margin-top:14px}.classified-filter{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin:18px 0;padding:13px;border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc;max-width:none}.classified-filter label{display:grid;gap:5px;font-weight:800;color:#334155}.classified-filter select{min-width:160px;padding:9px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;font:inherit}.classified-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:16px}.classified-card{display:grid;gap:12px;background:linear-gradient(135deg,#fff,#f8fbff);transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.classified-card:hover{transform:translateY(-2px);border-color:#bfdbfe;box-shadow:0 12px 26px #2563eb14}.classified-card.sold{opacity:.68;filter:saturate(.75)}.classified-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.classified-head h2{margin:.1rem 0 0;font-size:1.18rem}.classified-card p{line-height:1.5;margin:0;color:#334155}.classified-price{display:inline-flex;justify-self:start;padding:7px 11px;border-radius:999px;background:#eff6ff;color:#2563eb;font-size:1.05rem}.classified-actions{display:flex!important;gap:8px;flex-wrap:wrap;max-width:none!important}.classified-actions button{flex:1 1 150px}.inquiry-box{border-top:1px solid #e2e8f0;padding-top:10px}.inquiry-box summary{cursor:pointer;font-weight:850;color:#2563eb;list-style:none}.inquiry-box summary::-webkit-details-marker{display:none}.inquiry-box summary:before{content:'?';display:inline-grid;place-items:center;width:25px;height:25px;margin-right:7px;border-radius:50%;background:#dbeafe;color:#1d4ed8}.inquiry-box[open] summary{margin-bottom:10px}.inquiry-box form{max-width:none}.inquiry-box input,.inquiry-box textarea{width:100%}@media(max-width:720px){.forum-topic-form,.classified-form{grid-template-columns:1fr}.forum-topic-form label:last-of-type,.classified-form label:nth-last-child(2){grid-column:auto}.forum-topic{grid-template-columns:44px minmax(0,1fr)}.forum-topic em{grid-column:2;justify-self:start}.classified-filter{align-items:stretch;flex-direction:column}.classified-filter select,.classified-filter button{width:100%}.classified-actions button{width:100%}}
/* Login splash screen */
/* Homepage bottom ticker */
.home-ticker{position:fixed!important;left:0;right:0;bottom:0;z-index:1000;height:38px;background:#0f172a;color:#fff;border-top:1px solid #ffffff22;box-shadow:0 -8px 24px #0f172a26;overflow:hidden;display:flex!important;align-items:center;pointer-events:none}.home-ticker-track{display:flex;gap:90px;min-width:max-content;white-space:nowrap;will-change:transform;animation:homeTickerMove 22s linear infinite;padding-left:20px}.home-ticker span{display:inline-block;padding:0;font-weight:800;letter-spacing:.02em}.home-ticker:hover .home-ticker-track{animation-play-state:paused}body:has(.home-ticker) .container{margin-bottom:74px}@keyframes homeTickerMove{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}@media(max-width:720px){.home-ticker{height:34px;font-size:.88rem}body:has(.home-ticker) .container{margin-bottom:62px}.home-ticker-track{gap:60px;animation-duration:16s}}
/* Classified images and meta */
.classified-images{display:grid;grid-template-columns:2fr 1fr 1fr;gap:6px;margin:-4px -4px 4px}.classified-images img{width:100%;height:120px;object-fit:cover;border-radius:12px;background:#0f172a}.classified-images img:first-child{height:180px;grid-row:span 2}.classified-meta{display:flex;gap:8px;flex-wrap:wrap}.classified-meta span{padding:5px 8px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:.8rem;font-weight:700}@media(max-width:720px){.classified-images{grid-template-columns:1fr 1fr}.classified-images img,.classified-images img:first-child{height:130px;grid-row:auto}}


/* Dashboard improvements */
.dashboard-hero{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;margin:18px 0;background:linear-gradient(135deg,#eff6ff,#fff)}.dashboard-hero h2,.dashboard-year-card h2{margin:.15rem 0}.hero-metrics{display:flex;gap:10px;flex-wrap:wrap}.hero-metrics span{padding:9px 11px;border-radius:14px;background:#fff;border:1px solid #dbeafe;color:#64748b}.hero-metrics strong{display:block;color:#162033}.dashboard-year-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px 0;background:#f8fafc}.mini-month-chart{height:54px;display:flex;gap:5px;align-items:end}.mini-month-chart i{width:9px;border-radius:999px 999px 4px 4px;background:linear-gradient(180deg,#38bdf8,#2563eb)}@media(max-width:800px){.dashboard-hero,.dashboard-year-card{grid-template-columns:1fr;display:grid}.hero-metrics{display:grid;grid-template-columns:1fr 1fr}.dashboard-hero .button-link{width:100%;text-align:center}.mini-month-chart{width:100%}}


/* Mobile final polish */
@media(max-width:640px){table{font-size:.86rem}td,th{padding:8px}.dashboard-stats{gap:10px}.forum-topic,.people-row,.gallery-user{align-items:start}.classified-card{padding:12px}.classified-price{font-size:.95rem}.login-links{font-size:.84rem}.admin-table input[type=email]{min-width:150px}.actions button{margin:2px 0}.table-wrap{margin-inline:-8px;padding-inline:8px}}

/* Pre-login splash page */

.splash-page{margin:0;min-height:100vh;background:#fff;overflow:hidden}.prelogin-splash{position:fixed;inset:0;display:grid;place-items:center;background:#fff;animation:preloginOut 2s ease forwards}.prelogin-splash img{width:min(67vw,760px);height:min(67vh,760px);object-fit:contain;filter:drop-shadow(0 18px 45px #0002);animation:preloginImage 2s ease forwards}@keyframes preloginOut{0%{opacity:1}70%{opacity:1}100%{opacity:0}}@keyframes preloginImage{0%{transform:scale(1.03)}100%{transform:scale(1)}}@media(max-width:720px){.prelogin-splash img{width:min(78vw,520px);height:min(60vh,520px)}}

/* Ranking filters */
.ranking-filter{max-width:none;margin:0 0 18px;display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;align-items:end}.ranking-filter select{padding:10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;font:inherit}.ranking-table td strong,.ranking-table td small{display:block}.ranking-table td small{color:#64748b;margin-top:2px}.ranking-table .clickable-row{cursor:pointer}.ranking-table .clickable-row:hover{background:#f8fafc}.ranking-table .locked-row{opacity:.72}@media(max-width:900px){.ranking-filter{grid-template-columns:1fr 1fr}}@media(max-width:560px){.ranking-filter{grid-template-columns:1fr}}

/* Global centered Moose image */
.top-moose-logo{position:fixed;top:0;left:50%;transform:translateX(-50%);width:min(38vw,360px);max-height:170px;object-fit:contain;z-index:30500;pointer-events:none;opacity:.96;filter:drop-shadow(0 10px 26px #0f172a22)}@media(max-width:720px){.top-moose-logo{top:0;width:min(54vw,240px);max-height:120px}}

/* Navigation layering fix */
.topbar{position:sticky;top:0;z-index:40000;overflow:visible}
.site-menu,.dropdown{z-index:41000!important}
.top-moose-logo{top:-8px!important;z-index:2500!important;pointer-events:none!important}
.home-ticker{z-index:1000!important;pointer-events:none!important}
/* Final menu/logo click fix */
.topbar{position:sticky!important;top:0!important;z-index:40000!important;overflow:visible!important}
.top-moose-logo{position:fixed!important;top:-18px!important;left:50%!important;transform:translateX(-50%)!important;z-index:40500!important;pointer-events:none!important}
.site-menu,.dropdown{z-index:42000!important}
.site-menu.show,.dropdown.show{display:block!important}
.nav,.menu,.main-menu,.avatar-button,.hamburger{position:relative;z-index:41000}
.home-ticker{z-index:1000!important;pointer-events:none!important}
/* Native menu + ticker repair */
.main-menu,.user-menu{position:relative!important;display:block!important}
.main-menu>summary,.user-menu>summary{list-style:none;cursor:pointer}
.main-menu>summary::-webkit-details-marker,.user-menu>summary::-webkit-details-marker{display:none}
.main-menu .site-menu,.user-menu .dropdown{display:none!important;position:absolute!important;z-index:60000!important;pointer-events:auto!important}
.main-menu[open] .site-menu,.user-menu[open] .dropdown{display:block!important}
.topbar{position:sticky!important;top:0!important;z-index:50000!important;overflow:visible!important}
.nav,.top-left,.main-menu,.user-menu{z-index:51000!important}
.top-moose-logo{position:fixed!important;top:-26px!important;left:50%!important;transform:translateX(-50%)!important;z-index:50500!important;pointer-events:none!important}
.home-ticker{position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:49000!important;display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:none!important;background:#0f172a!important;color:#fff!important}
/* Session detail repair: larger gybe numbers + higher share builder */
.session-share-section{border-color:#bfdbfe!important;box-shadow:0 12px 26px #2563eb12!important}
.session-share-section>summary{background:linear-gradient(135deg,#eff6ff,#dbeafe)!important;color:#1e3a8a!important}
.gybe-count-metric{grid-column:span 2!important;min-width:320px!important}
.gybe-counts{grid-template-columns:repeat(3,minmax(86px,1fr))!important;gap:10px!important}
.gybe-counts b{min-height:58px!important;font-size:1.45rem!important;align-content:center!important;padding:10px 12px!important}
.metric-grid-small{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important}
@media(max-width:760px){.gybe-count-metric{grid-column:auto!important;min-width:0!important}.gybe-counts{grid-template-columns:repeat(3,1fr)!important}.gybe-counts b{font-size:1.2rem!important}}
/* Registration terms overview */
.register-form{max-width:820px}.terms-overview{display:grid;gap:12px;max-width:820px}.terms-overview details{border:1px solid #dbeafe;border-radius:14px;background:#f8fbff;overflow:hidden}.terms-overview summary{cursor:pointer;font-weight:850;padding:13px 15px;background:#eff6ff;color:#1e3a8a}.terms-overview pre{white-space:pre-wrap;margin:0;padding:15px;max-height:260px;overflow:auto;font:inherit;line-height:1.5;color:#334155;background:#fff}.register-form .inline-check{display:flex;align-items:flex-start;gap:10px;max-width:820px}.register-form .inline-check input{margin-top:3px}

/* Session edit sport images in one row */
.session-section .sport-picker{grid-template-columns:repeat(5,minmax(110px,1fr))!important;max-width:none!important}.session-section .sport-choice{min-height:120px}.session-section .sport-choice img{height:62px}@media(max-width:820px){.session-section .sport-picker{grid-template-columns:repeat(3,minmax(100px,1fr))!important}}@media(max-width:560px){.session-section .sport-picker{grid-template-columns:repeat(2,minmax(100px,1fr))!important}}
/* Session media slideshow repair */
.media-lightbox{position:fixed!important;inset:50%!important;transform:translate(-50%,-50%)!important;width:min(96vw,1180px)!important;height:min(92vh,840px)!important;max-width:96vw!important;max-height:92vh!important;padding:0!important;overflow:hidden!important;z-index:70000!important;background:#020617!important}.media-lightbox::backdrop{background:#020617e6!important;backdrop-filter:blur(4px)!important}.lightbox-stage{position:absolute!important;inset:58px 76px 64px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}.lightbox-stage img,.lightbox-stage video{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;border-radius:12px!important;background:#020617!important}.lightbox-close{position:absolute!important;right:16px!important;top:14px!important;z-index:70003!important;width:46px!important;height:46px!important;min-width:46px!important;padding:0!important;border:2px solid #ffffffaa!important;border-radius:50%!important;background:#0f172acc!important;color:#fff!important;font-size:2rem!important;font-weight:900!important;line-height:1!important;display:grid!important;place-items:center!important;box-shadow:0 10px 28px #0008!important}.lightbox-close:hover{background:#dc2626!important}.lightbox-nav{z-index:70002!important}.media-lightbox p{z-index:70001!important}@media(max-width:640px){.lightbox-stage{inset:62px 10px 76px!important}.lightbox-close{right:10px!important;top:10px!important}.lightbox-nav{bottom:12px!important}.media-lightbox p{bottom:60px!important}}
/* GPS quality notes */
.gps-quality-card{margin:18px 0;background:#f8fbff;border-color:#bfdbfe}.gps-quality-card ul{margin:8px 0 0;padding-left:20px;color:#475569;line-height:1.45}.gps-quality-card small{color:#64748b}
/* GPX folder import */
.menu-section{border-bottom:1px solid #f1f5f9}.menu-section>summary{display:block;cursor:pointer;color:#162033;padding:13px 16px;font-weight:800;list-style:none}.menu-section>summary::-webkit-details-marker{display:none}.menu-section>summary:after{content:"+";float:right;color:#2563eb}.menu-section[open]>summary:after{content:"-"}.menu-sub{background:#f8fafc;border-top:1px solid #e2e8f0}.site-menu .menu-sub a{padding-left:28px;font-size:.93rem}.head-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.review-badge{display:inline-grid;place-items:center;width:22px;height:22px;margin-left:7px;border-radius:999px;background:#f59e0b;color:#fff;font-weight:900;font-size:.9rem;box-shadow:0 0 0 2px #fff}.import-result{margin:16px 0}.import-result ul{margin:8px 0 14px;padding-left:20px}.import-skipped{background:#fff7ed;border-color:#fed7aa}.import-folder-form{margin-top:18px}
/* GPX import progress */
.import-file-info{padding:10px 12px;border:1px solid #dbeafe;border-radius:12px;background:#f8fbff;color:#334155;font-weight:800}.import-file-list{max-height:220px;overflow:auto;margin:0;padding:10px 10px 10px 28px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.import-file-list li{padding:4px 0;color:#475569}.import-progress{display:grid;gap:7px}.import-progress>div{height:16px;border-radius:999px;background:#e2e8f0;overflow:hidden;border:1px solid #cbd5e1}.import-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#38bdf8,#2563eb);transition:width .2s ease}.import-progress small{color:#475569;font-weight:800}
/* Legal text pages */
.legal-text pre{white-space:pre-wrap;margin:0;font:inherit;line-height:1.6;color:#334155}

/* Session delete danger zone */
.danger-zone{margin:18px;background:#fef2f2!important;border-color:#fecaca!important}.danger-zone h2{color:#991b1b}.danger-zone p{color:#7f1d1d}.danger-zone form{max-width:none}

.export-card{margin:22px 0}.export-progress{display:grid;gap:7px;margin-top:12px}.export-progress span{height:13px;border-radius:999px;background:#e2e8f0;overflow:hidden}.export-progress i{display:block;width:0;height:100%;border-radius:999px;background:linear-gradient(90deg,#2563eb,#38bdf8);transition:width .25s ease}.export-progress small{color:#64748b}

.share-builder canvas{cursor:grab;touch-action:none}.share-builder canvas:active{cursor:grabbing}

.faq-link-card{margin:18px 0}.faq-link-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.faq-link-grid a{display:block;padding:12px 14px;border-radius:12px;background:#eff6ff;border:1px solid #dbeafe;color:#1d4ed8;text-decoration:none;font-weight:800}.faq-link-grid a:hover{background:#dbeafe}.faq-texts{display:grid;gap:16px}.faq-text-card{padding:0;overflow:hidden}.faq-text-card summary{cursor:pointer;padding:16px 18px;font-weight:900;background:#f8fbff;border-bottom:1px solid #e2e8f0;color:#0f172a}.faq-text-card pre,.faq-text-card p{padding:18px}.faq-text-card pre{max-height:520px;overflow:auto}

/* Share field select repair */
.share-fields.share-fields-split{grid-template-columns:repeat(2,minmax(0,1fr))!important}.share-fields.share-fields-split label{display:grid!important;gap:6px!important;align-items:start!important}.share-fields.share-fields-split select{width:100%!important;padding:9px 10px!important;border:1px solid #cbd5e1!important;border-radius:8px!important;background:#fff!important;font:inherit!important}.share-control-grid input[type=range]{width:100%!important;padding:0!important}.share-builder canvas{cursor:grab;touch-action:none}.share-builder canvas:active{cursor:grabbing}@media(max-width:640px){.share-fields.share-fields-split{grid-template-columns:1fr!important}}

/* Strong centered slideshow repair */
.media-lightbox{position:fixed!important;inset:50%!important;transform:translate(-50%,-50%)!important;width:98vw!important;height:94vh!important;max-width:1400px!important;max-height:940px!important;margin:0!important;padding:0!important;border:0!important;border-radius:18px!important;overflow:hidden!important;background:#020617!important;color:#fff!important;z-index:90000!important;box-shadow:0 28px 100px #000c!important}.media-lightbox::backdrop{background:#020617e8!important;backdrop-filter:blur(4px)!important}.lightbox-stage{position:absolute!important;inset:62px 70px 66px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}.lightbox-stage img,.lightbox-stage video{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;border-radius:12px!important;background:#020617!important}.lightbox-close{position:absolute!important;right:16px!important;top:14px!important;z-index:90003!important;width:48px!important;height:48px!important;min-width:48px!important;padding:0!important;border:2px solid #ffffffcc!important;border-radius:50%!important;background:#0f172add!important;color:#fff!important;font-size:2rem!important;font-weight:900!important;line-height:1!important;display:grid!important;place-items:center!important;box-shadow:0 10px 30px #0009!important}.lightbox-close:hover{background:#dc2626!important}.lightbox-nav{position:absolute!important;top:50%!important;z-index:90002!important;transform:translateY(-50%)!important;width:54px!important;height:86px!important;padding:0!important;border-radius:999px!important;background:#0f172acc!important;color:#fff!important;border:1px solid #ffffff55!important;font-size:3.2rem!important;line-height:1!important;display:grid!important;place-items:center!important}.lightbox-prev{left:12px!important}.lightbox-next{right:12px!important}.media-lightbox p{position:absolute!important;left:76px!important;right:76px!important;bottom:18px!important;margin:0!important;text-align:center!important;color:#cbd5e1!important;font-weight:800!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;z-index:90001!important}@media(max-width:680px){.media-lightbox{width:100vw!important;height:100vh!important;max-width:100vw!important;max-height:100vh!important;border-radius:0!important}.lightbox-stage{inset:66px 8px 84px!important}.lightbox-close{right:10px!important;top:10px!important}.lightbox-nav{top:auto!important;bottom:16px!important;width:58px!important;height:48px!important;font-size:2.2rem!important}.lightbox-prev{left:70px!important}.lightbox-next{right:70px!important}.media-lightbox p{left:10px!important;right:10px!important;bottom:70px!important}}
/* Cleaner session image controls */
.share-control-panel{border:1px solid #e2e8f0;border-radius:14px;background:#f8fbff;padding:12px;display:grid;gap:11px}.share-control-panel h3{margin:0;color:#1e3a8a;font-size:.95rem}.share-control-panel label{display:grid!important;gap:6px!important}.share-control-panel select,.share-control-panel input[type=range]{width:100%}.share-actions{margin-top:2px}.share-controls>small{display:block;padding:10px 12px;border-radius:12px;background:#eff6ff;border:1px solid #dbeafe}.share-fields.share-fields-split{margin:0}
/* Extended share data picker */
.share-fields.share-fields-split{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))!important;align-items:start}.share-fields.share-fields-split label{min-width:0}.share-fields.share-fields-split select{min-width:0}.share-fields.share-fields-split legend{grid-column:1/-1}
/* Compact share data picker */
.share-fields.share-fields-split{grid-template-columns:repeat(auto-fit,minmax(112px,1fr))!important;gap:7px!important;padding:10px!important}.share-fields.share-fields-split label{font-size:.82rem!important;gap:4px!important}.share-fields.share-fields-split select{padding:7px 8px!important;font-size:.82rem!important;border-radius:7px!important}
/* Force wider share data picker on desktop */
@media(min-width:900px){.share-card .share-fields.share-fields-split{display:grid!important;grid-template-columns:repeat(5,minmax(110px,1fr))!important}}
@media(min-width:1250px){.share-card .share-fields.share-fields-split{grid-template-columns:repeat(6,minmax(105px,1fr))!important}}
/* Session image builder: prevent preview from overlapping controls */
.session-share-section .share-builder{display:grid!important;grid-template-columns:minmax(250px,340px) minmax(320px,680px)!important;gap:16px!important;align-items:start!important;overflow:hidden!important;isolation:isolate!important;justify-content:start!important}
.session-share-section .share-controls{min-width:0!important;position:relative!important;z-index:2!important}
.session-share-section #shareCanvas{display:block!important;min-width:0!important;width:min(100%,680px)!important;max-width:680px!important;height:auto!important;position:relative!important;z-index:1!important;justify-self:start!important}
@media(max-width:1200px){.session-share-section .share-builder{grid-template-columns:1fr!important}.session-share-section #shareCanvas{width:min(100%,620px)!important;max-width:620px!important;justify-self:center!important}}
/* Track speed timeline player */
.track-player-card{border:1px solid #dbeafe;border-radius:18px;background:linear-gradient(135deg,#fff,#f8fbff);padding:14px;display:grid;gap:12px;box-shadow:0 10px 24px #0f172a0d}
.track-player-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.track-player-head strong,.track-player-head small{display:block}.track-player-head small{color:#64748b;margin-top:3px}.track-player-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.track-player-controls label{display:flex!important;align-items:center;gap:6px;font-weight:800;color:#334155}.track-player-controls select{padding:8px 10px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;font:inherit}.track-player-controls button{padding:8px 14px;display:inline-flex!important;align-items:center;justify-content:center;min-width:82px;position:relative;z-index:2}.track-player-controls span{min-width:150px;padding:8px 10px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-weight:900;text-align:center}#speedChartCanvas{width:100%;height:150px;display:block;border:1px solid #dbeafe;border-radius:14px;background:#f8fbff;cursor:crosshair}@media(max-width:720px){.track-player-head{display:grid}.track-player-controls{align-items:stretch}.track-player-controls button,.track-player-controls label,.track-player-controls span{width:100%;justify-content:center}.track-player-controls label{justify-content:space-between}}
.track-player-wide{width:100%;max-width:100%;margin-left:0;transform:none;overflow:visible}
.track-player-wide #speedChartCanvas{height:180px}
.track-player-wide .track-player-head{align-items:center}
.track-player-wide .track-player-head>strong{font-size:1.05rem}
.track-player-controls select{padding:8px 10px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;font:inherit}
@media(max-width:720px){.track-player-wide{width:100%;margin-left:0;transform:none}.track-player-wide #speedChartCanvas{height:160px}}
.ranking-table .sport-pill{font-size:0;gap:0}.ranking-table .sport-pill img{width:30px;height:30px}
.track-speed-control{display:inline-flex!important;grid-template-columns:none!important;align-items:center!important;gap:6px!important;font-weight:800;color:#334155}.track-speed-control input{width:70px;padding:7px 8px;border:1px solid #cbd5e1;border-radius:9px;font:inherit}
/* Final session image layout clamp */
.session-share-section .share-builder{grid-template-columns:minmax(200px,300px) minmax(180px,420px)!important;gap:18px!important;justify-content:space-between!important;align-items:start!important;overflow:hidden!important}
.session-share-section .share-controls{width:100%!important;max-width:300px!important;min-width:0!important;z-index:3!important}
.session-share-section .share-control-panel{max-width:300px!important;min-width:0!important;padding:9px!important}
.session-share-section .share-control-panel select{max-width:100%!important;padding:7px 8px!important;font-size:.92rem!important}
.session-share-section .share-control-grid{grid-template-columns:1fr!important;gap:8px!important}
.session-share-section .share-fields.share-fields-split{grid-template-columns:repeat(6,minmax(82px,1fr))!important;gap:7px!important}
.session-share-section #shareCanvas{width:auto!important;max-width:min(420px,100%)!important;max-height:420px!important;height:auto!important;min-width:0!important;justify-self:end!important;margin-left:auto!important;margin-right:0!important;z-index:1!important;object-fit:contain!important}
@media(max-width:980px){.session-share-section .share-builder{grid-template-columns:1fr!important}.session-share-section .share-controls{max-width:420px!important}.session-share-section .share-control-panel{max-width:420px!important}.session-share-section #shareCanvas{max-width:min(420px,100%)!important;max-height:420px!important;justify-self:end!important;margin-left:auto!important;margin-right:0!important}}
@media(max-width:980px){.session-share-section .share-fields.share-fields-split{grid-template-columns:repeat(3,minmax(90px,1fr))!important}}
@media(max-width:620px){.session-share-section .share-fields.share-fields-split{grid-template-columns:repeat(2,minmax(0,1fr))!important}.session-share-section #shareCanvas{width:100%!important;max-width:100%!important;max-height:none!important}}
/* Download page */
.download-page{max-width:1060px;margin:0 auto;display:grid;gap:24px}.download-intro{text-align:center;padding:34px 30px}.download-intro h1{margin:.2rem 0 1rem}.download-intro p{max-width:820px;margin:.8rem auto 0;color:#475569;line-height:1.65;font-size:1.04rem}.download-grid{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:22px;align-items:stretch}.download-tile{display:grid;gap:10px;text-align:center;text-decoration:none;color:#10233f;background:#fff;border:1px solid #dbeafe;border-radius:24px;padding:16px;box-shadow:0 16px 36px #0f172a12;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.download-tile:hover{transform:translateY(-3px);box-shadow:0 22px 44px #0f172a1a;border-color:#93c5fd}.download-tile img{width:100%;height:auto;display:block;border-radius:20px}.download-tile span{font-weight:900;font-size:1.08rem}.download-tile small{color:#64748b}.download-tile-soon{opacity:.86}@media(max-width:760px){.download-grid{grid-template-columns:1fr}.download-intro{padding:26px 18px}}

/* Startseiten-Hinweis vom Admin */
.home-notice-overlay{position:fixed;inset:0;z-index:32000;display:grid;place-items:center;padding:24px;background:rgba(15,23,42,.18);backdrop-filter:blur(2px)}
.home-notice-overlay[hidden]{display:none!important}.home-notice-box{width:min(var(--notice-width,520px),calc(100vw - 32px));max-height:calc(100vh - 64px);overflow:auto;background:#fff;border:1px solid #dbeafe;border-radius:24px;box-shadow:0 24px 70px #0f172a33;padding:20px;text-align:center;display:grid;gap:14px}.home-notice-box img{display:block;width:100%;height:auto;object-fit:contain;border-radius:18px;background:#f8fafc}.home-notice-text{color:#334155;font-size:1.05rem;line-height:1.55}.home-notice-box .button-link{justify-self:center}
@media(max-width:720px){.home-notice-overlay{padding:14px}.home-notice-box{border-radius:18px;padding:14px}.home-notice-text{font-size:1rem}}