
:root{
    --night:#07142a;
    --night-2:#0e2852;
    --night-3:#173d72;
    --text:#f7fbff;
    --muted:#cbdcf3;
    --soft:#9fb7d8;
    --line:rgba(224,241,255,.16);
    --line-strong:rgba(230,246,255,.30);
    --glass:rgba(120,165,218,.17);
    --glass-strong:rgba(134,182,238,.24);
    --discord:#5865f2;
    --discord-light:#7289ff;
    --shadow:0 30px 90px rgba(0,7,24,.42);
}

*{box-sizing:border-box}
html{min-height:100%;background:var(--night)}
body{
    min-height:100vh;
    margin:0;
    color:var(--text);
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    overflow-x:hidden;
    background:var(--night);
}
a{color:inherit}

/* Winter scene */
.background-scene{
    position:fixed;
    inset:0;
    z-index:-5;
    overflow:hidden;
    pointer-events:none;
    background:
      radial-gradient(circle at 56% 34%, rgba(110,173,255,.20), transparent 28%),
      radial-gradient(circle at 74% 66%, rgba(255,209,135,.08), transparent 18%),
      linear-gradient(180deg,#071125 0%,#0a1d3e 42%,#12335f 72%,#163c6d 100%);
}
.background-scene::before{
    content:"";
    position:absolute;
    inset:-10%;
    opacity:.30;
    background:
      radial-gradient(circle,rgba(255,255,255,.90) 0 1px,transparent 1.5px);
    background-size:88px 88px;
    animation:snowDrift 30s linear infinite;
}
.background-scene::after{
    content:"";
    position:absolute;
    inset:0;
    background:
      linear-gradient(90deg,rgba(3,10,25,.22),transparent 25%,transparent 75%,rgba(3,10,25,.22)),
      linear-gradient(180deg,transparent 60%,rgba(5,18,39,.14));
}

.scene-glow{
    position:absolute;
    border-radius:999px;
    filter:blur(90px);
    opacity:.42;
}
.scene-glow-left{width:360px;height:360px;left:-130px;top:22%;background:rgba(67,140,240,.24)}
.scene-glow-right{width:420px;height:420px;right:-150px;top:34%;background:rgba(112,184,255,.16)}

.mountains{
    position:absolute;
    left:-2%;
    width:104%;
}
.mountains-back{
    height:210px;
    bottom:78px;
    opacity:.34;
    background:#25466f;
    clip-path:polygon(0 100%,0 77%,8% 66%,16% 78%,25% 55%,34% 75%,44% 48%,55% 81%,66% 54%,77% 75%,86% 51%,94% 69%,100% 61%,100% 100%);
}
.mountains-front{
    height:180px;
    bottom:44px;
    opacity:.72;
    background:linear-gradient(180deg,#244d80,#183a69);
    clip-path:polygon(0 100%,0 82%,9% 68%,18% 84%,28% 63%,37% 80%,48% 59%,58% 88%,70% 65%,80% 82%,89% 60%,96% 73%,100% 68%,100% 100%);
}
.village-lights{
    position:absolute;
    left:20%;
    right:13%;
    bottom:72px;
    height:34px;
    opacity:.95;
    background:
      radial-gradient(circle at 2% 60%,#ffdca1 0 2px,transparent 3px),
      radial-gradient(circle at 12% 35%,#ffe6b8 0 2px,transparent 3px),
      radial-gradient(circle at 23% 68%,#ffd99d 0 2px,transparent 3px),
      radial-gradient(circle at 37% 46%,#ffe8bb 0 2px,transparent 3px),
      radial-gradient(circle at 51% 70%,#ffdaa1 0 2px,transparent 3px),
      radial-gradient(circle at 66% 40%,#ffe5b6 0 2px,transparent 3px),
      radial-gradient(circle at 80% 67%,#ffd89b 0 2px,transparent 3px),
      radial-gradient(circle at 96% 48%,#ffe4b0 0 2px,transparent 3px);
    filter:drop-shadow(0 0 9px rgba(255,201,105,.45));
}
.snow-layer{position:absolute;left:0;right:0}
.snow-back{
    bottom:0;height:70px;opacity:.82;background:#cbdcf0;
    clip-path:polygon(0 61%,9% 66%,20% 60%,31% 68%,43% 58%,53% 66%,66% 60%,76% 69%,88% 58%,100% 63%,100% 100%,0 100%);
}
.snow-front{
    bottom:0;height:46px;background:#eef5fd;
    clip-path:polygon(0 58%,12% 50%,24% 64%,36% 54%,47% 68%,59% 56%,72% 65%,84% 52%,94% 62%,100% 54%,100% 100%,0 100%);
}

/* Header */
.site-header{
    width:min(1260px,calc(100% - 48px));
    height:86px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}
.brand{
    display:inline-flex;
    align-items:center;
    gap:12px;
    text-decoration:none;
    font-size:1.08rem;
    font-weight:800;
    letter-spacing:-.015em;
}
.brand-icon{
    width:40px;height:40px;
    display:grid;place-items:center;
    border-radius:14px;
    background:rgba(189,220,255,.13);
    border:1px solid var(--line-strong);
    box-shadow:0 10px 32px rgba(0,8,25,.22);
}
.top-nav{display:flex;align-items:center;gap:28px}
.top-nav a{
    text-decoration:none;
    color:#d9e6f7;
    font-size:.88rem;
    opacity:.88;
}
.top-nav a:hover{opacity:1;color:#fff}

/* Main login layout */
.layout-shell{
    width:min(1260px,calc(100% - 48px));
    min-height:calc(100vh - 150px);
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(390px,470px);
    gap:88px;
    align-items:center;
    padding:28px 0 100px;
}
.hero-copy{
    max-width:620px;
    padding-left:8px;
}
.eyebrow{
    margin:0 0 18px;
    color:#d8e9ff;
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.26em;
}
.hero-copy h1,
.member-title{
    margin:0;
    letter-spacing:-.055em;
    line-height:.94;
}
.hero-copy h1{font-size:clamp(3.15rem,5.7vw,5.45rem)}
.hero-copy h1 span{
    color:#d9ebff;
    text-shadow:0 0 32px rgba(168,214,255,.12);
}
.lead{
    max-width:590px;
    margin:24px 0 0;
    color:var(--muted);
    font-size:1.04rem;
    line-height:1.7;
}
.info-pills{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:22px;
}
.info-pills span{
    padding:9px 13px;
    border:1px solid var(--line);
    border-radius:999px;
    background:rgba(195,222,255,.07);
    color:#eef6ff;
    font-size:.78rem;
    box-shadow:0 9px 26px rgba(0,8,25,.12);
}
.side-note{
    margin-top:28px;
    color:#d8e7fb;
    font-size:.95rem;
    line-height:1.45;
}

/* Glass card */
.frost-card{
    position:relative;
    border:1px solid rgba(225,241,255,.26);
    background:
      linear-gradient(180deg,rgba(137,184,239,.23),rgba(79,125,181,.19));
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    box-shadow:var(--shadow);
}
.frost-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.22),
      inset 0 -1px 0 rgba(255,255,255,.05);
}
.auth-card{
    width:100%;
    justify-self:end;
    border-radius:30px;
    padding:34px 34px 30px;
    text-align:center;
}
.card-symbol{
    width:58px;height:58px;
    display:grid;place-items:center;
    margin:0 auto 16px;
    border-radius:18px;
    background:rgba(205,231,255,.13);
    border:1px solid rgba(231,245,255,.23);
    font-size:1.65rem;
}
.auth-card h2{
    margin:0;
    font-size:2.45rem;
    letter-spacing:-.04em;
}
.card-subtitle{
    margin:12px 0 24px;
    color:var(--muted);
    line-height:1.55;
    font-size:.98rem;
}
.card-divider{
    height:1px;
    margin:22px 0 13px;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);
}
.card-footer-text{margin:0;color:#edf6ff;font-size:.88rem}
.mini-heart{margin-top:7px;color:#dceeff}

/* Discord */
.discord-button{
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:13px;
    min-height:60px;
    padding:0 17px;
    border-radius:17px;
    text-decoration:none;
    color:#fff;
    background:linear-gradient(180deg,var(--discord-light),var(--discord));
    border:1px solid rgba(255,255,255,.17);
    box-shadow:0 15px 34px rgba(45,58,164,.34);
    font-weight:850;
    font-size:.98rem;
    transition:.16s ease;
}
.discord-button:hover{transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 18px 38px rgba(45,58,164,.42)}
.discord-mark{
    width:34px;height:34px;
    display:grid;place-items:center;
    border-radius:11px;
    background:rgba(255,255,255,.14);
}
.discord-arrow{font-size:1.2rem}
.discord-note{
    margin:14px 4px 0;
    color:#cbdcf3;
    font-size:.78rem;
    line-height:1.55;
}
.setup-notice{
    padding:15px 16px;
    border-radius:16px;
    background:rgba(255,189,77,.10);
    border:1px solid rgba(255,215,150,.22);
    color:#ffe1ae;
    line-height:1.45;
    font-size:.9rem;
}
.alert{
    margin:0 0 17px;
    padding:12px 14px;
    border-radius:14px;
    text-align:left;
    font-size:.88rem;
    line-height:1.45;
}
.alert-error{
    background:rgba(255,89,110,.13);
    border:1px solid rgba(255,153,167,.28);
    color:#ffd8dd;
}

/* Footer stays subtle and no longer collides with the snow */
.site-footer{
    position:fixed;
    left:50%;
    bottom:13px;
    transform:translateX(-50%);
    z-index:3;
    width:min(1260px,calc(100% - 48px));
    display:flex;
    justify-content:space-between;
    gap:20px;
    color:#b6c9e2;
    font-size:.76rem;
    opacity:.78;
}
.site-footer a{text-decoration:none}
.site-footer a:hover{color:#fff}

/* Member + admin compatibility */
.member-shell,
.admin-shell{
    width:min(1180px,calc(100% - 32px));
    min-height:calc(100vh - 120px);
    margin:0 auto;
    padding:34px 0 90px;
    display:grid;
    align-items:center;
}
.member-card{width:100%;border-radius:30px;padding:32px}
.member-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.member-title{font-size:clamp(2.5rem,6vw,4.6rem)}
.lead-small{margin:10px 0 0}
.logout-link,.secondary-button{
    text-decoration:none;
    display:inline-flex;align-items:center;justify-content:center;
    min-height:46px;padding:0 17px;border-radius:15px;
    border:1px solid var(--line-strong);
    background:rgba(205,231,255,.10);
    font-weight:800;
}
.member-panels{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;padding-top:24px}
.member-panel,.admin-panel{border:1px solid var(--line);border-radius:20px;padding:22px;background:rgba(206,231,255,.07)}
.member-panel h2,.member-panel h3,.admin-panel h2{margin:0 0 9px}
.member-panel p,.admin-muted{color:var(--muted);line-height:1.65}
.member-avatar{width:68px;height:68px;border-radius:20px;object-fit:cover}
.member-identity{display:flex;gap:16px;align-items:center}

/* Existing admin UI */
.admin-login-card{width:min(560px,100%);margin:0 auto;border-radius:28px;padding:30px}
.admin-heading{margin:0;font-size:clamp(2.25rem,6vw,4.3rem);line-height:1;letter-spacing:-.05em}
.admin-form{display:grid;gap:15px;margin-top:22px}
.admin-form label{display:grid;gap:8px}
.admin-form label>span{font-size:.88rem;font-weight:750}
.admin-form input,.copy-field input{
    width:100%;min-height:54px;border-radius:15px;border:1px solid var(--line);
    background:rgba(30,65,109,.34);color:#fff;padding:0 15px;font:inherit;outline:none;
}
.admin-form input:focus,.copy-field input:focus{border-color:rgba(171,220,255,.56);box-shadow:0 0 0 3px rgba(127,200,255,.10)}
.admin-dashboard{width:100%}
.admin-dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:22px}
.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.status-badge{display:inline-flex;align-items:center;padding:9px 13px;border-radius:999px;font-size:.82rem;font-weight:800;border:1px solid var(--line)}
.status-ok{background:rgba(73,207,148,.12);color:#c8f4de}
.status-warn{background:rgba(255,185,87,.12);color:#ffe0aa}
.alert-success{background:rgba(73,207,148,.12);border:1px solid rgba(115,225,174,.25);color:#c7f6de}
.copy-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin:20px 0 16px}
.copy-field button{border:1px solid var(--line);border-radius:15px;background:rgba(213,235,255,.12);color:#fff;font-weight:800;padding:0 16px;cursor:pointer}
.admin-steps{display:grid;gap:9px;margin:18px 0}
.admin-steps>div{display:flex;align-items:center;gap:10px}
.admin-steps span{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:rgba(160,210,255,.14);border:1px solid var(--line)}

@keyframes snowDrift{
    from{transform:translate3d(0,-20px,0)}
    to{transform:translate3d(36px,70px,0)}
}

@media(max-width:980px){
    .site-header,.layout-shell,.site-footer{width:min(100% - 28px,1260px)}
    .layout-shell{
        grid-template-columns:1fr;
        gap:28px;
        min-height:auto;
        padding:40px 0 120px;
    }
    .hero-copy{text-align:center;max-width:700px;margin:0 auto}
    .hero-copy h1{font-size:clamp(3rem,10vw,5rem)}
    .lead{margin-left:auto;margin-right:auto}
    .info-pills{justify-content:center}
    .side-note{display:none}
    .auth-card{justify-self:center;max-width:520px}
    .member-panels,.admin-grid{grid-template-columns:1fr}
}

@media(max-width:720px){
    .site-header{height:72px}
    .top-nav{display:none}
    .brand{font-size:1rem}
    .brand-icon{width:36px;height:36px;border-radius:12px}
    .layout-shell{padding-top:22px}
    .hero-copy h1{font-size:clamp(2.55rem,12vw,4.1rem)}
    .hero-copy .eyebrow{margin-bottom:12px}
    .lead{font-size:.97rem}
    .auth-card{padding:26px 22px;border-radius:25px}
    .auth-card h2{font-size:2.15rem}
    .card-symbol{width:52px;height:52px;font-size:1.4rem}
    .site-footer{position:static;transform:none;margin:0 auto;padding:0 0 24px;justify-content:center;flex-wrap:wrap}
    .snow-back{height:54px}.snow-front{height:34px}
    .mountains-back{height:140px;bottom:54px}.mountains-front{height:120px;bottom:28px}
    .village-lights{bottom:50px}
    .member-topline,.admin-dashboard-head{display:grid}
}

@media(max-width:520px){
    .site-header,.layout-shell,.site-footer,.member-shell,.admin-shell{width:min(100% - 22px,1260px)}
    .layout-shell{gap:22px;padding-bottom:82px}
    .hero-copy h1{font-size:2.75rem}
    .info-pills{gap:8px}
    .info-pills span{font-size:.72rem;padding:8px 10px}
    .auth-card{padding:22px 18px}
    .discord-button{min-height:58px;padding:0 14px;font-size:.92rem}
    .discord-note{font-size:.75rem}
    .copy-field{grid-template-columns:1fr}
}

/* === Wichtelrunde / Glücksrad === */
.round-waiting-grid,
.wheel-layout{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
    gap:22px;
    padding-top:28px;
}
.round-message{min-height:260px;display:flex;flex-direction:column;justify-content:center}
.round-message-warn{padding:48px 8px 20px;max-width:720px}
.round-message-warn h2{font-size:2rem;margin:8px 0 10px}
.round-message-warn p{color:var(--muted);font-size:1.05rem;line-height:1.7}
.round-count{
    margin-top:22px;
    display:inline-flex;
    align-items:center;
    gap:12px;
    width:max-content;
    padding:12px 16px;
    border:1px solid var(--line);
    border-radius:16px;
    background:rgba(190,222,255,.08);
}
.round-count strong{font-size:1.55rem;color:#fff}
.round-count span{font-size:.84rem;color:var(--muted)}

.wheel-stage{
    text-align:center;
    padding:14px 0 8px;
}
.wheel-stage>h2{font-size:clamp(2rem,4vw,3.2rem);margin:0 0 10px;letter-spacing:-.035em}
.wheel-stage>p{max-width:660px;margin:0 auto 22px;color:var(--muted);line-height:1.65}
.wheel-shell{
    width:min(620px,100%);
    aspect-ratio:1;
    position:relative;
    margin:10px auto 0;
    display:grid;
    place-items:center;
    filter:drop-shadow(0 22px 42px rgba(0,8,28,.34));
}
.wheel-canvas{display:block;width:100%;height:auto;max-width:620px}
.wheel-pointer{
    position:absolute;
    z-index:4;
    top:-2px;
    left:50%;
    transform:translateX(-50%);
    width:0;height:0;
    border-left:18px solid transparent;
    border-right:18px solid transparent;
    border-top:0;
    border-bottom:40px solid #f5fbff;
    filter:drop-shadow(0 5px 8px rgba(0,14,36,.45));
}
.wheel-pointer::after{
    content:"";
    position:absolute;
    width:12px;height:12px;
    border-radius:50%;
    background:#b9e3ff;
    left:-6px;top:30px;
    box-shadow:0 0 15px rgba(160,220,255,.8);
}
.wheel-spin-button{
    position:absolute;
    z-index:5;
    left:50%;top:50%;
    transform:translate(-50%,-50%);
    width:120px;height:120px;
    border-radius:50%;
    border:5px solid rgba(255,255,255,.76);
    background:linear-gradient(180deg,#dff4ff,#8fd1ff);
    color:#15375f;
    font:900 1.05rem/1 Inter,ui-sans-serif,system-ui,sans-serif;
    box-shadow:0 15px 32px rgba(12,48,88,.35),inset 0 1px 0 rgba(255,255,255,.85);
    cursor:pointer;
    transition:transform .16s ease,filter .16s ease;
}
.wheel-spin-button:hover:not(:disabled){transform:translate(-50%,-50%) scale(1.045);filter:brightness(1.04)}
.wheel-spin-button:disabled{cursor:default;opacity:.78}
.wheel-status{
    min-height:24px;
    margin-top:15px;
    color:#d8eaff;
    font-weight:700;
    font-size:.94rem;
}
.wheel-info-panel{align-self:center}
.wheel-info-panel h3{font-size:1.45rem;margin:0 0 10px}
.wheel-info-panel p{color:var(--muted);line-height:1.65}
.wheel-security-list{display:grid;gap:10px;margin-top:20px}
.wheel-security-list span{
    padding:11px 13px;
    border-radius:13px;
    background:rgba(188,220,255,.08);
    border:1px solid var(--line);
    color:#eaf5ff;
    font-size:.86rem;
}
.wheel-finished .wheel-canvas{filter:drop-shadow(0 0 30px rgba(155,218,255,.42))}

.result-stage{
    max-width:720px;
    margin:38px auto 8px;
    padding:46px 28px;
    text-align:center;
    border-radius:28px;
    background:linear-gradient(180deg,rgba(154,204,255,.16),rgba(93,143,202,.12));
    border:1px solid var(--line-strong);
    box-shadow:0 26px 70px rgba(0,7,25,.28);
}
.result-stage h2{margin:0 0 18px;font-size:1.35rem;color:var(--muted)}
.result-avatar{
    width:112px;height:112px;
    object-fit:cover;
    border-radius:32px;
    border:3px solid rgba(236,248,255,.72);
    box-shadow:0 14px 35px rgba(0,10,32,.34);
    margin-bottom:18px;
}
.result-name{
    font-size:clamp(2.5rem,7vw,5.2rem);
    line-height:1;
    font-weight:900;
    letter-spacing:-.05em;
    color:#f7fbff;
    text-shadow:0 0 28px rgba(154,216,255,.22);
}
.result-stage>p{max-width:530px;margin:20px auto 0;color:var(--muted);line-height:1.65}
.result-confetti{font-size:1.3rem;letter-spacing:.35em;color:#cfeaff;margin-bottom:16px}

.admin-round-panel{margin-top:20px}
.admin-round-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}
.admin-participant-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}
.admin-participant{
    display:flex;align-items:center;gap:12px;
    padding:12px;
    border-radius:15px;
    border:1px solid var(--line);
    background:rgba(190,221,255,.06);
}
.admin-participant img{width:42px;height:42px;border-radius:13px;object-fit:cover}
.admin-participant-main{min-width:0;flex:1}
.admin-participant-name{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-participant-user{font-size:.76rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-inline-form{margin:0}
.admin-remove-button{
    border:0;background:rgba(255,103,123,.12);color:#ffd6dc;
    width:34px;height:34px;border-radius:11px;cursor:pointer;font-weight:900;
}
.admin-round-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.admin-danger-button,
.admin-start-button{
    border:1px solid var(--line-strong);
    min-height:48px;padding:0 17px;border-radius:15px;
    color:#fff;font-weight:850;cursor:pointer;font:inherit;
}
.admin-start-button{background:linear-gradient(180deg,#3d83d0,#285c9a)}
.admin-danger-button{background:rgba(219,73,94,.14);color:#ffdce1}
.admin-round-note{color:var(--muted);font-size:.86rem;line-height:1.55;margin-top:12px}

@media(max-width:900px){
    .round-waiting-grid,.wheel-layout{grid-template-columns:1fr}
    .wheel-info-panel{max-width:620px;margin:0 auto;width:100%}
    .admin-participant-list{grid-template-columns:1fr}
}
@media(max-width:560px){
    .wheel-shell{width:min(100%,430px)}
    .wheel-spin-button{width:94px;height:94px;border-width:4px;font-size:.92rem}
    .wheel-pointer{border-left-width:14px;border-right-width:14px;border-bottom-width:32px}
    .result-stage{padding:34px 18px}
    .result-avatar{width:92px;height:92px;border-radius:26px}
    .admin-round-head{display:grid}
}

/* === Pool / Admin Dashboard v7 === */
.admin-nav-link{color:#bfe3ff!important;font-weight:800}
.member-head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.member-start-date{font-size:1.5rem;font-weight:900;line-height:1.2;margin:12px 0;color:#f3f9ff}
.member-countdown{margin-top:14px;padding:13px 15px;border-radius:15px;background:rgba(120,190,255,.10);border:1px solid var(--line);color:#dceeff;font-weight:800}
.wheel-preview-layout .wheel-stage>p{max-width:720px}
.wheel-center-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5;width:92px;height:92px;border-radius:50%;display:grid;place-items:center;font-size:2rem;background:linear-gradient(180deg,#e5f5ff,#9dd8ff);border:4px solid rgba(255,255,255,.76);box-shadow:0 14px 30px rgba(11,44,82,.34)}
.result-username{margin-top:10px;color:#c7d9f0;font-weight:750;font-size:1.05rem}

.admin-head-badges{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.admin-stats{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr)) minmax(250px,1.6fr);gap:12px;margin:0 0 20px}
.admin-stat{padding:18px;border-radius:19px;background:rgba(187,219,255,.08);border:1px solid var(--line);display:grid;gap:4px}
.admin-stat strong{font-size:1.65rem;line-height:1;color:#f6fbff}
.admin-stat span{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.admin-stat-wide strong{font-size:1.15rem;line-height:1.25}
.admin-current-discord{margin:14px 0;padding:12px 14px;border-radius:14px;background:rgba(94,190,255,.10);border:1px solid var(--line);color:#dcefff}
.admin-config-note{margin:16px 0;padding:12px 14px;border-radius:14px;background:rgba(15,45,81,.28);border:1px solid var(--line);display:grid;gap:6px;color:var(--muted)}
.admin-config-note code{color:#fff;overflow-wrap:anywhere}
.admin-bot-install{margin-top:5px}
.admin-countdown-box{margin:20px 0;padding:20px;border-radius:18px;background:linear-gradient(180deg,rgba(115,189,255,.13),rgba(90,145,205,.08));border:1px solid var(--line);display:grid;gap:7px}
.admin-countdown-box span{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.admin-countdown-box strong{font-size:1.45rem}
.admin-start-form{margin-top:14px}
.admin-draw-main{width:100%;min-height:58px;font-size:1rem}
.admin-draw-main:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.25)}
.admin-participants-panel{margin-top:20px}
.admin-participant-table{display:grid;gap:9px;margin-top:18px}
.admin-participant-row{display:grid;grid-template-columns:minmax(210px,1.5fr) minmax(120px,.8fr) 90px 110px minmax(220px,auto);align-items:center;gap:12px;padding:12px 13px;border-radius:17px;border:1px solid var(--line);background:rgba(187,219,255,.055)}
.admin-participant-row.is-current-user{border-color:rgba(130,205,255,.48);box-shadow:inset 0 0 0 1px rgba(130,205,255,.12)}
.admin-person{display:flex;align-items:center;gap:12px;min-width:0}
.admin-person img,.admin-avatar-placeholder{width:46px;height:46px;border-radius:14px;object-fit:cover;flex:0 0 auto;border:1px solid rgba(255,255,255,.25)}
.admin-avatar-placeholder{display:grid;place-items:center;background:rgba(220,239,255,.13);font-weight:900}
.admin-person>div{min-width:0;display:grid;gap:3px}
.admin-person strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-person span{font-size:.75rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-person-meta{display:grid;gap:4px;min-width:0}
.admin-person-meta span{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.admin-person-meta strong{font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-assignment strong{color:#e9f6ff}
.text-ok{color:#a9eccb!important}.text-warn{color:#ffd89d!important}
.admin-row-actions{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap}
.admin-row-actions form{margin:0}
.tiny-button{min-height:34px;padding:0 10px;border-radius:10px;border:1px solid var(--line);background:rgba(203,231,255,.10);color:#fff;font:700 .74rem/1 Inter,system-ui,sans-serif;cursor:pointer}
.tiny-button:hover{background:rgba(203,231,255,.16)}
.tiny-ok{background:rgba(56,190,130,.13);color:#c7f5df}.tiny-danger{background:rgba(226,80,101,.12);color:#ffdae0}
.admin-empty{padding:30px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:16px}
.admin-round-danger-zone{margin-top:20px}

@media(max-width:1180px){
  .admin-participant-row{grid-template-columns:minmax(210px,1.4fr) 100px 85px minmax(210px,auto)}
  .admin-participant-row .admin-person-meta:nth-of-type(1){display:none}
  .admin-stats{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:850px){
  .admin-participant-row{grid-template-columns:1fr 1fr;align-items:start}
  .admin-person{grid-column:1/-1}
  .admin-row-actions{grid-column:1/-1;justify-content:flex-start}
  .admin-participant-row .admin-person-meta:nth-of-type(1){display:grid}
  .admin-head-badges{justify-content:flex-start}
  .member-head-actions{justify-content:flex-start}
}
@media(max-width:560px){
  .admin-stats{grid-template-columns:1fr 1fr}
  .admin-stat-wide{grid-column:1/-1}
  .admin-participant-row{grid-template-columns:1fr}
  .admin-person,.admin-row-actions{grid-column:auto}
  .wheel-center-badge{width:74px;height:74px;font-size:1.6rem}
}

/* =========================================================
   Mobile polish v9 — Login, Teilnehmerbereich, Glücksrad,
   Admin-Dashboard. Mobile-first overrides only.
   ========================================================= */

html{
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
}
body{
    min-height:100dvh;
    padding-left:env(safe-area-inset-left);
    padding-right:env(safe-area-inset-right);
}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}

@media(max-width:720px){
    /* Header bleibt auf dem Handy nutzbar statt Navigation komplett zu verstecken */
    .site-header{
        width:min(100% - 20px,1260px);
        height:auto;
        min-height:68px;
        padding:12px 0 8px;
        display:flex;
        flex-wrap:wrap;
        align-items:center;
        gap:9px 12px;
    }
    .brand{
        font-size:.98rem;
        min-height:44px;
        flex:1 1 auto;
    }
    .brand-icon{
        width:36px;
        height:36px;
        border-radius:12px;
    }
    .top-nav{
        display:flex;
        width:100%;
        gap:8px;
        overflow-x:auto;
        justify-content:flex-start;
        scrollbar-width:none;
        padding:2px 0 5px;
        -webkit-overflow-scrolling:touch;
    }
    .top-nav::-webkit-scrollbar{display:none}
    .top-nav a{
        flex:0 0 auto;
        min-height:40px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        padding:0 13px;
        border-radius:999px;
        background:rgba(196,224,255,.08);
        border:1px solid var(--line);
        font-size:.78rem;
        opacity:1;
    }

    /* Login: wichtigste Aktion zuerst, Hero darunter kompakt */
    .layout-shell{
        width:min(100% - 20px,1260px);
        grid-template-columns:1fr;
        gap:24px;
        min-height:auto;
        padding:18px 0 80px;
    }
    .auth-card{
        order:1;
        width:100%;
        max-width:500px;
        justify-self:center;
        padding:24px 18px 22px;
        border-radius:24px;
        backdrop-filter:blur(12px);
        -webkit-backdrop-filter:blur(12px);
    }
    .hero-copy{
        order:2;
        max-width:560px;
        margin:0 auto;
        padding:0 5px 20px;
        text-align:center;
    }
    .hero-copy .eyebrow{margin-bottom:9px;font-size:.65rem}
    .hero-copy h1{
        font-size:clamp(2.2rem,11vw,3.15rem);
        line-height:.98;
    }
    .lead{
        font-size:.94rem;
        line-height:1.55;
        margin-top:15px;
    }
    .info-pills{
        justify-content:center;
        margin-top:17px;
        gap:7px;
    }
    .info-pills span{
        padding:8px 10px;
        font-size:.69rem;
    }
    .side-note{display:none}
    .card-symbol{
        width:50px;
        height:50px;
        border-radius:16px;
        margin-bottom:12px;
        font-size:1.35rem;
    }
    .auth-card h2{font-size:2rem}
    .card-subtitle{font-size:.9rem;margin:9px 0 18px}
    .discord-button{
        min-height:58px;
        border-radius:16px;
        padding:0 14px;
        gap:10px;
        font-size:.91rem;
    }
    .discord-mark{width:32px;height:32px;border-radius:10px}
    .setup-notice,.alert{font-size:.84rem}

    /* Mobile footer = normale Zeile, keine Überlagerung */
    .site-footer{
        position:relative;
        left:auto;
        bottom:auto;
        transform:none;
        width:min(100% - 20px,1260px);
        margin:0 auto;
        padding:16px 0 calc(22px + env(safe-area-inset-bottom));
        justify-content:center;
        align-items:center;
        flex-wrap:wrap;
        gap:8px 14px;
        text-align:center;
        font-size:.72rem;
    }

    /* Background auf kleinen Displays weniger dominant */
    .scene-glow-left{left:-210px;top:18%}
    .scene-glow-right{right:-240px;top:42%}
    .mountains-back{height:115px;bottom:40px}
    .mountains-front{height:90px;bottom:22px}
    .village-lights{bottom:39px;left:8%;right:8%}
    .snow-back{height:42px}
    .snow-front{height:27px}

    /* Teilnehmerseite */
    .member-shell,.admin-shell{
        width:min(100% - 20px,1180px);
        min-height:auto;
        padding:18px 0 70px;
    }
    .member-card{
        padding:20px 15px;
        border-radius:24px;
        overflow:hidden;
    }
    .member-topline{
        display:grid;
        gap:15px;
        padding-bottom:18px;
    }
    .member-title{
        font-size:clamp(2rem,11vw,3.15rem);
        line-height:1;
    }
    .member-head-actions{
        width:100%;
        display:grid;
        grid-template-columns:1fr;
        gap:8px;
        justify-content:stretch;
    }
    .member-head-actions a,
    .member-head-actions button,
    .logout-link,.secondary-button{
        width:100%;
        min-height:46px;
    }
    .member-identity{align-items:flex-start}
    .member-avatar{width:56px;height:56px;border-radius:16px}
    .member-start-date{font-size:1.18rem}
    .member-countdown{font-size:.86rem}
    .member-panels{grid-template-columns:1fr;gap:13px;padding-top:16px}
    .member-panel{padding:17px 15px;border-radius:18px}

    /* Glücksrad */
    .round-waiting-grid,.wheel-layout{
        grid-template-columns:1fr;
        gap:16px;
        padding-top:18px;
    }
    .wheel-stage{padding-top:2px}
    .wheel-stage>h2{font-size:1.72rem;margin-bottom:8px}
    .wheel-stage>p{font-size:.88rem;line-height:1.52;margin-bottom:14px}
    .wheel-shell{
        width:min(92vw,390px);
        max-width:100%;
        margin:3px auto 0;
    }
    .wheel-spin-button{
        width:82px;
        height:82px;
        border-width:4px;
        font-size:.82rem;
    }
    .wheel-center-badge{
        width:68px;
        height:68px;
        font-size:1.45rem;
        border-width:3px;
    }
    .wheel-pointer{
        border-left-width:12px;
        border-right-width:12px;
        border-bottom-width:27px;
    }
    .wheel-info-panel{padding:17px 15px}
    .wheel-security-list{gap:7px;margin-top:13px}
    .wheel-security-list span{font-size:.78rem;padding:9px 10px}
    .result-stage{
        margin:22px 0 4px;
        padding:28px 14px;
        border-radius:21px;
    }
    .result-avatar{width:82px;height:82px;border-radius:22px}
    .result-name{font-size:clamp(2.1rem,12vw,3.45rem)}
    .result-stage>p{font-size:.88rem;line-height:1.55}
    .round-message-warn{padding:26px 2px 10px}
    .round-message-warn h2{font-size:1.55rem}
    .round-message-warn p{font-size:.92rem}

    /* Admin Dashboard */
    .admin-dashboard-head{
        display:grid;
        gap:14px;
        margin-bottom:15px;
    }
    .admin-heading{
        font-size:clamp(2rem,11vw,3rem);
        line-height:1;
    }
    .admin-head-badges{
        justify-content:flex-start;
        width:100%;
        gap:7px;
    }
    .status-badge{font-size:.72rem;padding:8px 10px}
    .admin-stats{
        grid-template-columns:1fr 1fr;
        gap:8px;
        margin-bottom:13px;
    }
    .admin-stat{
        min-width:0;
        padding:14px 12px;
        border-radius:16px;
    }
    .admin-stat strong{font-size:1.35rem}
    .admin-stat span{font-size:.65rem;letter-spacing:.05em}
    .admin-stat-wide{grid-column:1/-1}
    .admin-stat-wide strong{font-size:1rem}
    .admin-grid{grid-template-columns:1fr;gap:12px}
    .admin-panel{
        min-width:0;
        padding:17px 14px;
        border-radius:18px;
        overflow:hidden;
    }
    .admin-panel h2{font-size:1.25rem}
    .admin-form{gap:12px;margin-top:15px}
    .admin-form input,
    .admin-form select,
    .admin-form textarea,
    .copy-field input{
        min-height:50px;
        font-size:16px; /* verhindert Auto-Zoom auf iOS */
    }
    input[type="datetime-local"]{width:100%;min-width:0}
    .copy-field{grid-template-columns:1fr;gap:8px}
    .copy-field button{min-height:46px}
    .admin-countdown-box{padding:15px;margin:14px 0}
    .admin-countdown-box strong{font-size:1.15rem}
    .admin-draw-main,.admin-start-button,.admin-danger-button{
        width:100%;
        min-height:50px;
    }
    .admin-round-actions{
        display:grid;
        grid-template-columns:1fr;
        gap:8px;
    }
    .admin-participants-panel{margin-top:13px}
    .admin-participant-list{grid-template-columns:1fr;gap:8px}
    .admin-participant-row{
        grid-template-columns:1fr;
        gap:10px;
        padding:13px 12px;
        border-radius:17px;
    }
    .admin-person,
    .admin-row-actions{grid-column:auto}
    .admin-person img,.admin-avatar-placeholder{width:44px;height:44px;border-radius:13px}
    .admin-person strong{font-size:.91rem}
    .admin-person span{font-size:.7rem}
    .admin-person-meta{
        padding:9px 10px;
        border-radius:12px;
        background:rgba(203,231,255,.05);
        border:1px solid rgba(224,241,255,.08);
    }
    .admin-row-actions{
        display:grid;
        grid-template-columns:1fr 1fr;
        width:100%;
        gap:7px;
    }
    .admin-row-actions form{width:100%}
    .tiny-button{
        width:100%;
        min-height:42px;
        padding:0 8px;
        font-size:.72rem;
    }
    .admin-round-danger-zone{margin-top:13px}
    .admin-config-note code{word-break:break-all}
}

@media(max-width:390px){
    .site-header,.layout-shell,.site-footer,.member-shell,.admin-shell{width:calc(100% - 16px)}
    .auth-card{padding:20px 14px}
    .hero-copy h1{font-size:2.25rem}
    .auth-card h2{font-size:1.85rem}
    .discord-button{font-size:.84rem;padding:0 12px}
    .info-pills span{font-size:.65rem}
    .wheel-shell{width:min(94vw,340px)}
    .wheel-center-badge{width:60px;height:60px;font-size:1.25rem}
    .admin-stats{grid-template-columns:1fr}
    .admin-stat-wide{grid-column:auto}
    .admin-row-actions{grid-template-columns:1fr}
}

@media(hover:none) and (pointer:coarse){
    .discord-button:hover,
    .primary-button:hover,
    .wheel-spin-button:hover:not(:disabled){transform:none;filter:none}
}
