.sviz-app{--sviz-gap:clamp(8px,2vw,18px);--sviz-red:#d62c2c;--sviz-blue:#207fc9;--sviz-green:#2f9349;--sviz-yellow:#ee921d;max-width:920px;margin:1.5rem auto;color:#202124}.sviz-app *{box-sizing:border-box}.sviz-toolbar,.sviz-statusbar{display:flex;align-items:center;justify-content:space-between;gap:var(--sviz-gap);flex-wrap:wrap}.sviz-toolbar{margin-bottom:1rem}.sviz-titleblock h2{margin:0 0 .2rem}.sviz-titleblock p{margin:0;color:#5f6368}.sviz-button{appearance:none;border:0;border-radius:12px;padding:.75rem 1rem;background:#202124;color:#fff;cursor:pointer;min-height:44px;box-shadow:0 3px 10px rgba(0,0,0,.12)}.sviz-button:hover{filter:brightness(1.12)}.sviz-button:disabled{opacity:.45;cursor:not-allowed}.sviz-button-secondary{background:#eceff1;color:#202124}.sviz-setup,.sviz-game{border:1px solid #dadce0;border-radius:18px;padding:clamp(12px,3vw,24px);background:#fff;box-shadow:0 8px 30px rgba(0,0,0,.06)}.sviz-player-config{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:1rem 0}.sviz-player-config label{display:grid;gap:5px;}.sviz-player-config select,.sviz-theme-select-wrap select{width:100%;padding:.72rem;border:1px solid #bdc1c6;border-radius:10px;background:#fff;}.sviz-setup-hint{color:#5f6368}.sviz-label{display:block;color:inherit}.sviz-theme-picker{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}.sviz-theme-picker h3{margin:.15rem 0 0}.sviz-theme-select-wrap{min-width:min(100%,220px)}.sviz-theme-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:24px}.sviz-theme-card{min-height:76px;border:1px solid #dfe3e7;border-radius:14px;padding:12px;display:flex;flex-direction:column;justify-content:space-between;background:#f8fafc;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.sviz-theme-card span{}.sviz-theme-card-seasons{background:linear-gradient(135deg,#eef8e7,#fff4c9 38%,#f8dfc5 68%,#e8f4ff)}.sviz-theme-card-vehicles{background:linear-gradient(135deg,#424a52,#222 52%,#4d565e);color:#fff}.sviz-statusbar{padding:.2rem 0 1rem}.sviz-die{display:inline-grid;place-items:center;width:44px;height:44px;border:2px solid #202124;border-radius:10px;font-size:1.35rem;background:#fff}.sviz-message{min-height:2.4rem;margin-bottom:.75rem;padding:.65rem .8rem;border-radius:10px;background:#f6f8fa;}.sviz-board-wrap{width:100%;overflow:hidden}.sviz-board{position:relative;width:min(100%,720px);aspect-ratio:1;margin:0 auto;border-radius:24px;overflow:hidden;border:1px solid #dfe3e7;isolation:isolate;background:radial-gradient(circle at 50% 50%,#fff 0 27%,#f7f8fa 28% 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.6),inset 0 -20px 50px rgba(20,35,50,.04)}.sviz-board-decor{position:absolute;inset:0;z-index:0;pointer-events:none}.sviz-theme-classic .sviz-board-decor{background:radial-gradient(circle at 50% 50%,transparent 0 34%,rgba(60,70,80,.025) 34.4% 35.2%,transparent 35.6%),linear-gradient(135deg,rgba(255,255,255,.7),rgba(239,242,245,.65))}.sviz-theme-seasons .sviz-board-decor{background:radial-gradient(circle at 18% 19%,rgba(255,255,255,.75),transparent 18%),radial-gradient(circle at 82% 18%,rgba(255,220,91,.32),transparent 16%),radial-gradient(circle at 82% 82%,rgba(169,80,32,.16),transparent 18%),radial-gradient(circle at 18% 82%,rgba(255,255,255,.65),transparent 18%),repeating-radial-gradient(circle at 50% 50%,transparent 0 28px,rgba(255,255,255,.09) 29px 30px)}.sviz-theme-vehicles .sviz-board-decor{background:repeating-radial-gradient(circle at 50% 50%,transparent 0 32px,rgba(255,255,255,.035) 33px 34px),linear-gradient(45deg,transparent 49.3%,rgba(255,194,47,.2) 49.5% 50.5%,transparent 50.7%),linear-gradient(-45deg,transparent 49.3%,rgba(255,194,47,.2) 49.5% 50.5%,transparent 50.7%)}.sviz-board{--sviz-cell-size:5.15%;--sviz-home-size:5.8%;--sviz-piece-width:5.7%;--sviz-piece-height:7.3%;--sviz-piece-min-width:20px;--sviz-piece-min-height:27px}.sviz-cell,.sviz-home,.sviz-finish{position:absolute;display:grid;place-items:center;transform:translate(-50%,-50%);border-radius:50%;z-index:2}.sviz-cell{width:var(--sviz-cell-size);height:var(--sviz-cell-size);border:1px solid #9da6ad;background:linear-gradient(145deg,#fff,#eef1f3);box-shadow:0 1px 2px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.85)}.sviz-theme-vehicles .sviz-cell{background:linear-gradient(145deg,#707980,#555d62);border-color:#9da7ad;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15),0 1px 3px rgba(0,0,0,.35)}.sviz-home,.sviz-finish{width:var(--sviz-home-size);height:var(--sviz-home-size);border:1px solid rgba(0,0,0,.25);box-shadow:inset 0 2px 5px rgba(255,255,255,.6),0 2px 4px rgba(0,0,0,.14)}.sviz-start-red{box-shadow:0 0 0 3px rgba(214,44,44,.28),0 1px 2px rgba(0,0,0,.15)}.sviz-start-blue{box-shadow:0 0 0 3px rgba(32,127,201,.28),0 1px 2px rgba(0,0,0,.15)}.sviz-start-green{box-shadow:0 0 0 3px rgba(47,147,73,.28),0 1px 2px rgba(0,0,0,.15)}.sviz-start-yellow{box-shadow:0 0 0 3px rgba(238,146,29,.28),0 1px 2px rgba(0,0,0,.15)}.sviz-home-red,.sviz-finish-red{background:#ffd0d2;border-color:var(--sviz-red)}.sviz-home-blue,.sviz-finish-blue{background:#cae5fb;border-color:var(--sviz-blue)}.sviz-home-green,.sviz-finish-green{background:#cfebd4;border-color:var(--sviz-green)}.sviz-home-yellow,.sviz-finish-yellow{background:#ffe3bb;border-color:var(--sviz-yellow)}.sviz-theme-seasons{--sviz-red:#55a84f;--sviz-blue:#efa92c;--sviz-green:#c8652c;--sviz-yellow:#76aee0}.sviz-theme-seasons .sviz-home-red,.sviz-theme-seasons .sviz-finish-red{background:#d9efd4}.sviz-theme-seasons .sviz-home-blue,.sviz-theme-seasons .sviz-finish-blue{background:#ffefb0}.sviz-theme-seasons .sviz-home-green,.sviz-theme-seasons .sviz-finish-green{background:#f1cfb6}.sviz-theme-seasons .sviz-home-yellow,.sviz-theme-seasons .sviz-finish-yellow{background:#dcecf9}.sviz-theme-vehicles{--sviz-red:#dc3232;--sviz-blue:#2d8bd1;--sviz-green:#4f9b43;--sviz-yellow:#e2a124}.sviz-piece{--sviz-piece-color:#666;position:absolute;z-index:6;transform:translate(-50%,-58%);width:var(--sviz-piece-width);height:var(--sviz-piece-height);min-width:var(--sviz-piece-min-width);min-height:var(--sviz-piece-min-height);padding:0;border:0;border-radius:50% 50% 34% 34% / 38% 38% 62% 62%;background:radial-gradient(circle at 34% 22%,rgba(255,255,255,.96) 0 7%,rgba(255,255,255,.30) 8% 18%,transparent 19%),linear-gradient(145deg,rgba(255,255,255,.38),transparent 34%),var(--sviz-piece-color);box-shadow:inset -3px -5px 7px rgba(0,0,0,.24),inset 2px 2px 5px rgba(255,255,255,.28),0 3px 3px rgba(0,0,0,.22),0 7px 10px rgba(0,0,0,.18);color:#fff;cursor:default;transition:left .25s ease,top .25s ease,transform .16s ease,filter .16s ease;overflow:visible}.sviz-piece::before{content:"";position:absolute;left:16%;right:16%;bottom:-10%;height:31%;border-radius:50%;background:var(--sviz-piece-color);box-shadow:inset 0 -3px 5px rgba(0,0,0,.27),inset 1px 2px 3px rgba(255,255,255,.30),0 2px 3px rgba(0,0,0,.20);z-index:-1}.sviz-piece::after{content:"";position:absolute;left:20%;top:5%;width:24%;height:22%;border-radius:50%;background:rgba(255,255,255,.43);filter:blur(.3px);pointer-events:none}.sviz-piece-red{--sviz-piece-color:var(--sviz-red)}.sviz-piece-blue{--sviz-piece-color:var(--sviz-blue)}.sviz-piece-green{--sviz-piece-color:var(--sviz-green)}.sviz-piece-yellow{--sviz-piece-color:var(--sviz-yellow)}.sviz-piece-symbol{position:absolute;inset:15% 18% 34%;display:grid;place-items:center;color:#fff;filter:drop-shadow(0 1px 1px rgba(0,0,0,.28))}.sviz-piece-symbol:empty{display:none}.sviz-piece-symbol svg{width:100%;height:100%;display:block}.sviz-piece-number{position:absolute;left:50%;bottom:20%;transform:translateX(-50%);font-size:clamp(7px,1.15vw,11px);font-weight:900;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.55)}.sviz-theme-seasons .sviz-piece{width:6.1%;height:7.5%}.sviz-theme-vehicles .sviz-piece{width:6.5%;height:5.5%;min-width:24px;min-height:20px;border-radius:28% 28% 20% 20%;transform:translate(-50%,-50%);background:linear-gradient(150deg,rgba(255,255,255,.48),transparent 34%),var(--sviz-piece-color);box-shadow:inset -3px -4px 6px rgba(0,0,0,.24),inset 2px 2px 4px rgba(255,255,255,.22),0 3px 6px rgba(0,0,0,.33)}.sviz-theme-vehicles .sviz-piece::before{left:8%;right:8%;bottom:-13%;height:25%;border-radius:30%;background:#282d31;box-shadow:none}.sviz-theme-vehicles .sviz-piece::after{left:13%;top:9%;width:32%;height:25%;background:rgba(220,244,255,.55);border-radius:30%}.sviz-theme-vehicles .sviz-piece-symbol{inset:10% 14% 15%}.sviz-theme-vehicles .sviz-piece-number{right:-4px;left:auto;bottom:-4px;transform:none;display:grid;place-items:center;width:14px;height:14px;border-radius:50%;background:rgba(20,25,30,.85);font-size:8px}.sviz-piece.sviz-movable{cursor:pointer;outline:none;transform:translate(-50%,-62%) scale(1.08);filter:saturate(1.15) brightness(1.04);animation:sviz-ready 1.05s ease-in-out infinite alternate}.sviz-theme-vehicles .sviz-piece.sviz-movable{transform:translate(-50%,-50%) scale(1.09)}.sviz-piece.sviz-movable:focus-visible{outline:3px solid #111;outline-offset:4px}@keyframes sviz-ready{from{filter:saturate(1.1) brightness(1.02);box-shadow:inset -3px -5px 7px rgba(0,0,0,.22),0 3px 4px rgba(0,0,0,.22),0 0 0 3px rgba(255,255,255,.88),0 0 0 6px rgba(32,33,36,.18)}to{filter:saturate(1.22) brightness(1.1);box-shadow:inset -3px -5px 7px rgba(0,0,0,.22),0 5px 8px rgba(0,0,0,.25),0 0 0 3px #fff,0 0 0 8px rgba(32,33,36,.24)}}.sviz-score{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:1rem}.sviz-score-card{padding:.7rem .8rem;border:1px solid #e0e0e0;border-radius:12px;background:#fff;display:grid;gap:3px}.sviz-score-card strong{display:flex;align-items:center;gap:.38rem}.sviz-score-symbol{display:inline-grid;width:1.15em;height:1.15em}.sviz-score-symbol:empty{display:none}.sviz-score-symbol svg{width:100%;height:100%}.sviz-player-red{color:var(--sviz-red)}.sviz-player-blue{color:var(--sviz-blue)}.sviz-player-green{color:var(--sviz-green)}.sviz-player-yellow{color:var(--sviz-yellow)}.sviz-rules{margin-top:1rem;border-top:1px solid #e5e7eb;padding-top:.8rem}.sviz-rules summary{cursor:pointer;}.sviz-rules li{margin:.35rem 0}.sviz-winner{background:#e8f5e9}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:620px){.sviz-app{margin:1rem 0}.sviz-setup,.sviz-game{border-radius:14px;padding:12px}.sviz-player-config{grid-template-columns:1fr}.sviz-theme-picker{align-items:stretch;flex-direction:column}.sviz-theme-select-wrap{min-width:0}.sviz-theme-cards{grid-template-columns:1fr 1fr 1fr}.sviz-theme-card{min-height:64px;padding:8px}.sviz-theme-card span{}.sviz-statusbar{display:grid;grid-template-columns:1fr auto}.sviz-statusbar .sviz-button{grid-column:1/-1;width:100%}.sviz-board{border-radius:14px}.sviz-score{grid-template-columns:repeat(2,minmax(0,1fr))}.sviz-cell{width:5.7%;height:5.7%}.sviz-home,.sviz-finish{width:6.5%;height:6.5%}.sviz-piece{min-width:19px;min-height:26px;width:6.2%;height:8.1%}.sviz-theme-vehicles .sviz-piece{min-width:24px;min-height:18px;width:7.3%;height:5.9%}}

/* Jahreszeiten 2.0: echte saisonale Illustrationen statt reiner Farbsegmente. */
.sviz-theme-seasons .sviz-board-decor{
    background:
        radial-gradient(circle at 50% 50%,rgba(255,255,255,.88) 0 27%,rgba(255,255,255,.22) 27.5% 28.4%,transparent 29%),
        linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,0));
}

/* Saisonfiguren deutlich größer und ikonischer. */
.sviz-theme-seasons .sviz-piece{
    width:7.25%;
    height:8.65%;
    min-width:27px;
    min-height:33px;
    border:2px solid rgba(255,255,255,.95);
    outline:2px solid color-mix(in srgb,var(--sviz-piece-color) 78%,#172027 22%);
    outline-offset:-1px;
    box-shadow:
        inset -4px -6px 8px rgba(0,0,0,.20),
        inset 2px 3px 7px rgba(255,255,255,.38),
        0 3px 4px rgba(0,0,0,.25),
        0 8px 15px rgba(0,0,0,.20),
        0 0 0 3px rgba(255,255,255,.58);
}
.sviz-theme-seasons .sviz-piece::before{height:27%;bottom:-9%}
.sviz-theme-seasons .sviz-piece-symbol{
    inset:6% 10% 28%;
    color:#fff;
    filter:drop-shadow(0 2px 2px rgba(0,0,0,.38));
}
.sviz-theme-seasons .sviz-piece-number{
    bottom:15%;
    min-width:15px;
    height:15px;
    padding:0 3px;
    display:grid;
    place-items:center;
    border-radius:999px;
    background:rgba(25,31,36,.78);
    border:1px solid rgba(255,255,255,.8);
    font-size:9px;
}
/* Frühling, Sommer, Herbst und Winter bekommen bewusst sehr unterschiedliche Grundfarben. */
.sviz-theme-seasons .sviz-piece-red{--sviz-piece-color:#4aa84f}
.sviz-theme-seasons .sviz-piece-blue{--sviz-piece-color:#f2a71d}
.sviz-theme-seasons .sviz-piece-green{--sviz-piece-color:#c85d2b}
.sviz-theme-seasons .sviz-piece-yellow{--sviz-piece-color:#5d9ed6}
.sviz-theme-seasons .sviz-home-red,.sviz-theme-seasons .sviz-finish-red{background:#e9f7e7;border-color:#3a943f}
.sviz-theme-seasons .sviz-home-blue,.sviz-theme-seasons .sviz-finish-blue{background:#fff0b9;border-color:#dd9312}
.sviz-theme-seasons .sviz-home-green,.sviz-theme-seasons .sviz-finish-green{background:#f8d7bd;border-color:#b74d23}
.sviz-theme-seasons .sviz-home-yellow,.sviz-theme-seasons .sviz-finish-yellow{background:#e1f0fb;border-color:#4b8fc9}

@media(max-width:620px){
    .sviz-theme-seasons .sviz-piece{width:7.7%;height:9.15%;min-width:28px;min-height:34px}
}

/* 0.6.3: frei benennbare Spieler */
.sviz-player-config-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;padding:12px;border:1px solid #e1e5e8;border-radius:14px;background:#fafbfc}
.sviz-player-config-card label{display:grid;gap:5px;}
.sviz-player-custom-name span{color:inherit}
.sviz-player-custom-name input{width:100%;min-width:0;padding:.72rem;border:1px solid #bdc1c6;border-radius:10px;background:#fff;color:inherit}
.sviz-player-custom-name input:focus{outline:3px solid rgba(32,127,201,.18);border-color:#5c8fb6}

/* Fahrzeuge 2.0: vier eigenständige Szenen statt einer abstrakten Asphaltfläche. */
.sviz-theme-vehicles .sviz-board-decor{background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.92) 0 27%,rgba(255,255,255,.24) 27.5% 28.5%,transparent 29%)}
.sviz-theme-vehicles .sviz-cell{background:linear-gradient(145deg,#f9fbfc,#dce3e7);border-color:#738089;box-shadow:0 1px 3px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.9)}
.sviz-theme-vehicles .sviz-piece{width:8.2%;height:6.5%;min-width:31px;min-height:23px;border:2px solid rgba(255,255,255,.92);outline:2px solid rgba(20,28,34,.42);outline-offset:-1px;box-shadow:inset -4px -5px 7px rgba(0,0,0,.24),inset 2px 2px 5px rgba(255,255,255,.28),0 4px 5px rgba(0,0,0,.28),0 9px 14px rgba(0,0,0,.22)}
.sviz-theme-vehicles .sviz-piece-symbol{inset:4% 7% 8%;filter:drop-shadow(0 2px 2px rgba(0,0,0,.36))}
.sviz-theme-vehicles .sviz-piece-number{right:-5px;bottom:-5px;width:16px;height:16px;border:1px solid rgba(255,255,255,.9);font-size:9px}
.sviz-theme-vehicles .sviz-piece-red{--sviz-piece-color:#d92f2f}
.sviz-theme-vehicles .sviz-piece-blue{--sviz-piece-color:#e33b32}
.sviz-theme-vehicles .sviz-piece-green{--sviz-piece-color:#4d9a43}
.sviz-theme-vehicles .sviz-piece-yellow{--sviz-piece-color:#e2a129}
.sviz-theme-vehicles .sviz-home-red,.sviz-theme-vehicles .sviz-finish-red{background:#f7d2d2;border-color:#b72626}
.sviz-theme-vehicles .sviz-home-blue,.sviz-theme-vehicles .sviz-finish-blue{background:#f6d5d2;border-color:#c82c25}
.sviz-theme-vehicles .sviz-home-green,.sviz-theme-vehicles .sviz-finish-green{background:#d7ecd2;border-color:#3f8438}
.sviz-theme-vehicles .sviz-home-yellow,.sviz-theme-vehicles .sviz-finish-yellow{background:#f6e7bd;border-color:#bf8017}

@media(max-width:620px){
    .sviz-player-config-card{grid-template-columns:1fr;gap:8px}
    .sviz-theme-vehicles .sviz-piece{width:8.7%;height:6.9%;min-width:31px;min-height:23px}
}
.sviz-ai-setting{display:grid;gap:6px;max-width:280px;margin:14px 0}.sviz-ai-setting select{width:100%;padding:.65rem .75rem;border:1px solid #c8cdd2;border-radius:10px;background:#fff;color:inherit;}
/* Automatischer Einzelzug: reine Bewegungsanimation, keine Typografie. */
.sviz-piece.sviz-auto-moving{z-index:20;pointer-events:none;transition:left .9s cubic-bezier(.22,.75,.28,1),top .9s cubic-bezier(.22,.75,.28,1),transform .2s ease;filter:brightness(1.12) saturate(1.15);box-shadow:0 0 0 4px rgba(255,220,90,.52),0 10px 18px rgba(0,0,0,.28)}

/* 0.12.11: Kompakte Mobiloberfläche. Normale Statusmeldungen belegen keinen Platz. */
.sviz-message:empty{display:none}.sviz-message{min-height:0}.sviz-theme-cards{display:none!important}.sviz-theme-select-wrap{display:grid;gap:5px;margin-bottom:18px;max-width:100%}


/* 0.12.13: Querformat kompakter, Spielsteine kleiner und ohne Nummern. */
.sviz-toolbar{justify-content:flex-end;margin-bottom:.6rem}.sviz-titleblock{display:none}.sviz-piece-number{display:none!important}.sviz-piece{width:4.95%;height:6.45%;min-width:18px;min-height:23px}.sviz-piece-symbol{inset:16% 18% 28%}.sviz-theme-seasons .sviz-piece{width:6.15%;height:7.35%;min-width:23px;min-height:28px}.sviz-theme-vehicles .sviz-piece{width:7.05%;height:5.55%;min-width:26px;min-height:19px}.sviz-theme-vehicles .sviz-piece-symbol{inset:6% 8% 10%}.sviz-piece.sviz-movable{transform:translate(-50%,-61%) scale(1.06)}.sviz-theme-vehicles .sviz-piece.sviz-movable{transform:translate(-50%,-50%) scale(1.07)}@media(max-width:620px){.sviz-piece{width:5.55%;height:7.2%;min-width:17px;min-height:22px}.sviz-theme-seasons .sviz-piece{width:6.8%;height:8.1%;min-width:24px;min-height:29px}.sviz-theme-vehicles .sviz-piece{width:7.75%;height:6.2%;min-width:27px;min-height:20px}}


/* 0.12.14: Kurzer Zughinweis und Würfel-Feedback. */
.sviz-statusbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"current hint die" "button button button";align-items:end;column-gap:var(--sviz-gap);row-gap:.75rem}.sviz-status-current{grid-area:current}.sviz-turn-hint{grid-area:hint;align-self:center;justify-self:center;padding:.1rem .4rem;color:#5f6368;white-space:nowrap}.sviz-status-die{grid-area:die;justify-self:end}.sviz-statusbar .sviz-button{grid-area:button;width:100%}@media(max-width:620px){.sviz-statusbar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"current die" "hint hint" "button button"}.sviz-turn-hint{padding:0;text-align:center}}


/* 0.12.16: Statistiken unter dem Brett entfernt; Neustart dort platziert. */
.sviz-score{display:none!important}.sviz-under-board-actions{display:flex;justify-content:center;margin-top:1rem}.sviz-under-board-actions .sviz-button{min-width:min(100%,220px)}


/* 0.12.17: feste Statuszeile, Bauernhof-Theme und klarere Figurenfarben. */
.sviz-statusbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"current die" "hint hint" "button button";align-items:end;row-gap:.5rem;column-gap:var(--sviz-gap)}.sviz-status-current{grid-area:current}.sviz-status-die{grid-area:die;justify-self:end}.sviz-turn-hint{grid-area:hint;min-height:1.4em;text-align:center;justify-self:center;align-self:center;color:#5f6368;white-space:nowrap}.sviz-statusbar .sviz-button{grid-area:button;width:100%}.sviz-message{display:none}.sviz-message:not(:empty){display:block;min-height:0;margin:.35rem 0 .75rem;padding:.65rem .8rem;border-radius:10px;background:#f6f8fa}.sviz-message.sviz-winner{display:block;background:#e8f5e9}.sviz-theme-vehicles .sviz-piece-red{--sviz-piece-color:#d93232}.sviz-theme-vehicles .sviz-piece-blue{--sviz-piece-color:#2d8bd1}.sviz-theme-vehicles .sviz-piece-green{--sviz-piece-color:#57a14b}.sviz-theme-vehicles .sviz-piece-yellow{--sviz-piece-color:#e1aa2c}.sviz-theme-farm{--sviz-red:#c46d2d;--sviz-blue:#c56f55;--sviz-green:#8a5c3c;--sviz-yellow:#4e4440}.sviz-theme-farm .sviz-board-decor{background:radial-gradient(circle at 50% 50%,transparent 0 29%,rgba(255,255,255,.18) 29.3% 29.8%,transparent 30.1%),repeating-radial-gradient(circle at 50% 50%,transparent 0 32px,rgba(255,255,255,.06) 33px 34px)}.sviz-theme-farm .sviz-home-red,.sviz-theme-farm .sviz-finish-red{background:#edd6b8;border-color:#c46d2d}.sviz-theme-farm .sviz-home-blue,.sviz-theme-farm .sviz-finish-blue{background:#f3d6cf;border-color:#c56f55}.sviz-theme-farm .sviz-home-green,.sviz-theme-farm .sviz-finish-green{background:#e4d8c9;border-color:#8a5c3c}.sviz-theme-farm .sviz-home-yellow,.sviz-theme-farm .sviz-finish-yellow{background:#d9d4d1;border-color:#4e4440}.sviz-theme-farm .sviz-piece{border:2px solid rgba(255,255,255,.92);outline:2px solid rgba(60,46,33,.18);outline-offset:-1px;box-shadow:inset -4px -5px 7px rgba(0,0,0,.22),inset 2px 2px 4px rgba(255,255,255,.28),0 4px 7px rgba(0,0,0,.2)}.sviz-theme-farm .sviz-piece-red{--sviz-piece-color:#c46d2d}.sviz-theme-farm .sviz-piece-blue{--sviz-piece-color:#c56f55}.sviz-theme-farm .sviz-piece-green{--sviz-piece-color:#8a5c3c}.sviz-theme-farm .sviz-piece-yellow{--sviz-piece-color:#4e4440}.sviz-theme-farm .sviz-piece-symbol{inset:11% 14% 20%}.sviz-theme-farm .sviz-piece.sviz-movable{transform:translate(-50%,-61%) scale(1.08)}


/* 0.12.18: Verbindliche Spielerfarben in ALLEN Grafik-Themes.
   Interne Schlüssel bleiben red/blue/green/yellow, die sichtbaren Farben sind
   jedoch dauerhaft: Spieler 1 Grün, Spieler 2 Blau, Spieler 3 Rot, Spieler 4 Schwarz. */
.sviz-app,
.sviz-theme-classic,
.sviz-theme-seasons,
.sviz-theme-vehicles,
.sviz-theme-farm{
    --sviz-red:#2f9b4f;
    --sviz-blue:#2d7fd2;
    --sviz-green:#d53a3a;
    --sviz-yellow:#202327;
}

/* Häuser und Zielfelder folgen derselben festen Spielerfarbe. */
.sviz-home-red,.sviz-finish-red{background:#d8f0df;border-color:#2f9b4f}
.sviz-home-blue,.sviz-finish-blue{background:#d8e9f8;border-color:#2d7fd2}
.sviz-home-green,.sviz-finish-green{background:#f5d7d7;border-color:#d53a3a}
.sviz-home-yellow,.sviz-finish-yellow{background:#d7d9dc;border-color:#202327}

/* Startfelder ebenfalls eindeutig in Grün / Blau / Rot / Schwarz. */
.sviz-start-red{box-shadow:0 0 0 3px rgba(47,155,79,.34),0 1px 2px rgba(0,0,0,.15)}
.sviz-start-blue{box-shadow:0 0 0 3px rgba(45,127,210,.34),0 1px 2px rgba(0,0,0,.15)}
.sviz-start-green{box-shadow:0 0 0 3px rgba(213,58,58,.34),0 1px 2px rgba(0,0,0,.15)}
.sviz-start-yellow{box-shadow:0 0 0 3px rgba(32,35,39,.42),0 1px 2px rgba(0,0,0,.15)}

/* Die Figurenfarben werden in jedem Theme erzwungen. */
.sviz-piece-red{--sviz-piece-color:#2f9b4f!important}
.sviz-piece-blue{--sviz-piece-color:#2d7fd2!important}
.sviz-piece-green{--sviz-piece-color:#d53a3a!important}
.sviz-piece-yellow{--sviz-piece-color:#202327!important}

/* Auch die Namens-/Statusfarbe folgt immer derselben Zuordnung. */
.sviz-player-red{color:#2f9b4f!important}
.sviz-player-blue{color:#2d7fd2!important}
.sviz-player-green{color:#d53a3a!important}
.sviz-player-yellow{color:#202327!important}

/* Schwarze Figur bekommt eine etwas deutlichere helle Kontur. */
.sviz-piece-yellow{
    border-color:rgba(255,255,255,.96)!important;
    outline-color:rgba(0,0,0,.55)!important;
}
.sviz-theme-farm .sviz-board-decor{background:radial-gradient(circle at 50% 50%,transparent 0 29%,rgba(255,255,255,.22) 29.2% 29.7%,transparent 30%),repeating-radial-gradient(circle at 50% 50%,transparent 0 34px,rgba(255,255,255,.05) 35px 36px)}
.sviz-theme-farm .sviz-cell{background:linear-gradient(145deg,#fff,#edf1f3)}
@media(max-width:760px){.sviz-board{--sviz-cell-size:4.85%;--sviz-home-size:5.35%;--sviz-piece-width:5.35%;--sviz-piece-height:6.95%;--sviz-piece-min-width:18px;--sviz-piece-min-height:24px}.sviz-theme-seasons .sviz-piece{width:5.55%;height:7.1%}.sviz-theme-vehicles .sviz-piece{width:5.9%;height:5.05%;min-width:20px;min-height:18px}}
@media(max-width:560px){.sviz-board{--sviz-cell-size:4.55%;--sviz-home-size:5.0%;--sviz-piece-width:5.0%;--sviz-piece-height:6.55%;--sviz-piece-min-width:16px;--sviz-piece-min-height:21px}.sviz-theme-seasons .sviz-piece{width:5.2%;height:6.7%}.sviz-theme-vehicles .sviz-piece{width:5.55%;height:4.8%;min-width:18px;min-height:16px}}

/* 0.13.0: Fernspiel-Setup und Status, ohne eigene Typografie. */
.sviz-player-remote-email{grid-column:1/-1;gap:5px}
.sviz-player-remote-email input{width:100%;min-width:0;padding:.72rem;border:1px solid #bdc1c6;border-radius:10px;background:#fff;color:inherit}
.sviz-remote-setup-status:empty{display:none}
.sviz-remote-setup-status{margin:.75rem 0;padding:.65rem .8rem;border:1px solid #d9dde1;border-radius:10px;background:#f7f8fa}
.sviz-remote-info{margin-top:.75rem;padding:.65rem .8rem;border:1px solid #d9dde1;border-radius:10px;background:#f7f8fa;overflow-wrap:anywhere}
.sviz-remote-info[hidden]{display:none!important}
.sviz-theme-seasons .sviz-cell,
.sviz-theme-farm .sviz-cell{background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(239,243,246,.96))}
.sviz-theme-vehicles .sviz-cell{background:linear-gradient(145deg,#eef2f4,#d6dde1);border-color:#87939a}

/* Einheitliche, unveränderliche Spielerfarben in allen Themes. */
.sviz-theme-classic,.sviz-theme-seasons,.sviz-theme-vehicles,.sviz-theme-farm,.sviz-theme-dino{
    --sviz-red:#2f9b4f;
    --sviz-blue:#2d7fd2;
    --sviz-green:#d53a3a;
    --sviz-yellow:#202327;
}
.sviz-theme-classic .sviz-piece-red,.sviz-theme-seasons .sviz-piece-red,.sviz-theme-vehicles .sviz-piece-red,.sviz-theme-farm .sviz-piece-red,.sviz-theme-dino .sviz-piece-red{--sviz-piece-color:#2f9b4f!important}
.sviz-theme-classic .sviz-piece-blue,.sviz-theme-seasons .sviz-piece-blue,.sviz-theme-vehicles .sviz-piece-blue,.sviz-theme-farm .sviz-piece-blue,.sviz-theme-dino .sviz-piece-blue{--sviz-piece-color:#2d7fd2!important}
.sviz-theme-classic .sviz-piece-green,.sviz-theme-seasons .sviz-piece-green,.sviz-theme-vehicles .sviz-piece-green,.sviz-theme-farm .sviz-piece-green,.sviz-theme-dino .sviz-piece-green{--sviz-piece-color:#d53a3a!important}
.sviz-theme-classic .sviz-piece-yellow,.sviz-theme-seasons .sviz-piece-yellow,.sviz-theme-vehicles .sviz-piece-yellow,.sviz-theme-farm .sviz-piece-yellow,.sviz-theme-dino .sviz-piece-yellow{--sviz-piece-color:#202327!important}

/* Häuser/Ziele entsprechen stets Grün, Blau, Rot, Schwarz. */
.sviz-home-red,.sviz-finish-red{background:#d8f0df!important;border-color:#2f9b4f!important}
.sviz-home-blue,.sviz-finish-blue{background:#d8e9f8!important;border-color:#2d7fd2!important}
.sviz-home-green,.sviz-finish-green{background:#f5d7d7!important;border-color:#d53a3a!important}
.sviz-home-yellow,.sviz-finish-yellow{background:#d7d9dc!important;border-color:#202327!important}

/* Die schwarze Spielfigur bleibt auch auf dunklen Motiven deutlich sichtbar. */
.sviz-piece-yellow{border:2px solid rgba(255,255,255,.98)!important;outline:2px solid rgba(0,0,0,.58)!important;outline-offset:-1px}

@media(max-width:620px){
}


/* 0.13.4 PNG theme backgrounds replace earlier scene SVGs */
.sviz-board{background:#f6f2ea;}
.sviz-board-decor{background-position:center;background-repeat:no-repeat;background-size:cover;opacity:1}


/* 0.13.5 responsive PNG theme resolutions */
.sviz-board-decor{background-position:center;background-repeat:no-repeat;background-size:cover}


/* 0.13.6 Afrika Theme */
.sviz-theme-africa{--sviz-red:#2f9b4f;--sviz-blue:#2d7fd2;--sviz-green:#d53a3a;--sviz-yellow:#202327}
.sviz-theme-africa .sviz-home-red,.sviz-theme-africa .sviz-finish-red{background:#d9efd4;border-color:#2f9b4f}
.sviz-theme-africa .sviz-home-blue,.sviz-theme-africa .sviz-finish-blue{background:#dbeafb;border-color:#2d7fd2}
.sviz-theme-africa .sviz-home-green,.sviz-theme-africa .sviz-finish-green{background:#f7d6d6;border-color:#d53a3a}
.sviz-theme-africa .sviz-home-yellow,.sviz-theme-africa .sviz-finish-yellow{background:#d7d9dc;border-color:#202327}
.sviz-theme-africa .sviz-piece{border:2px solid rgba(255,255,255,.92);outline:2px solid rgba(60,46,33,.16);outline-offset:-1px}


/* 0.13.8: PNG-Theme-Assets werden ausschließlich durch game.js aufgelöst.
   Dadurch kann je nach Brettbreite/Pixeldichte sm/md/lg geladen werden. */
.sviz-theme-classic .sviz-board-decor,
.sviz-theme-seasons .sviz-board-decor,
.sviz-theme-vehicles .sviz-board-decor,
.sviz-theme-farm .sviz-board-decor,
.sviz-theme-africa .sviz-board-decor,
.sviz-theme-dino .sviz-board-decor{
    background-position:center;
    background-repeat:no-repeat;
    background-size:cover;
    opacity:1;
}


/* 0.13.9: verlässlicher PNG-Fallback; JS ersetzt diesen je nach Auflösung. */
.sviz-theme-classic .sviz-board-decor{background-image:url('../images/theme-classic-md.webp') !important}
.sviz-theme-seasons .sviz-board-decor{background-image:url('../images/theme-seasons-md.webp') !important}
.sviz-theme-vehicles .sviz-board-decor{background-image:url('../images/theme-vehicles-md.webp') !important}
.sviz-theme-farm .sviz-board-decor{background-image:url('../images/theme-farm-md.webp') !important}
.sviz-theme-africa .sviz-board-decor{background-image:url('../images/theme-africa-md.webp') !important}
.sviz-board{background:#f6f2ea!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55),0 10px 26px rgba(0,0,0,.06)!important}
.sviz-board-decor{background-position:center center!important;background-repeat:no-repeat!important;background-size:cover!important;filter:none!important;opacity:1!important}
/* 0.14.1: Eingeladene Fernspieler sehen keinen Neustart-Bereich. */
.sviz-app.sviz-remote-guest .sviz-under-board-actions,
.sviz-under-board-actions[hidden],
.sviz-under-board-actions [data-action="new-game"][hidden]{display:none!important}


/* 0.14.2: Tablet-/Touch-Renderhärtung gegen wandernde GPU-Tile-Hairlines.
   Auf Touch-Geräten werden nur Compositing-Treiber reduziert; Regeln und
   Desktop-Darstellung bleiben unverändert. */
@media (hover:none), (pointer:coarse){
    .sviz-game{
        contain:paint;
        box-shadow:none;
    }
    .sviz-board{
        isolation:auto;
        box-shadow:none!important;
    }
    .sviz-board-decor{
        filter:none!important;
        transform:none!important;
        backface-visibility:visible;
    }
    .sviz-button:hover{filter:none}
    .sviz-piece,
    .sviz-piece::before,
    .sviz-piece::after,
    .sviz-piece-symbol,
    .sviz-piece.sviz-movable,
    .sviz-piece.sviz-auto-moving{
        filter:none!important;
        will-change:auto!important;
        backface-visibility:visible;
    }
    .sviz-piece.sviz-movable{
        animation:none!important;
        box-shadow:inset -3px -5px 7px rgba(0,0,0,.22),0 3px 4px rgba(0,0,0,.22),0 0 0 3px rgba(255,255,255,.9),0 0 0 6px rgba(32,33,36,.2)!important;
    }
    .sviz-piece.sviz-auto-moving{
        box-shadow:0 0 0 4px rgba(255,220,90,.52),0 5px 10px rgba(0,0,0,.2)!important;
    }
}

/* 0.14.3: Ruhiger dreidimensional gezeichneter Würfel. Keine Bewegung beim
   Würfeln; nur das bereits bekannte kurze Leuchten bleibt erhalten. */
.sviz-die{
    position:relative;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    grid-template-rows:repeat(3,1fr);
    place-items:center;
    width:54px;
    height:54px;
    padding:8px;
    border:2px solid #202124;
    border-radius:11px;
    background:linear-gradient(145deg,#fff 0 50%,#eef0f2 100%);
    box-shadow:inset 3px 3px 5px rgba(255,255,255,.95),inset -5px -6px 8px rgba(0,0,0,.11),4px 5px 0 #b8bdc2,6px 7px 8px rgba(0,0,0,.18);
    overflow:visible;
}
.sviz-die::before{
    content:"";
    position:absolute;
    left:5px;
    right:-5px;
    top:-7px;
    height:7px;
    border:1px solid rgba(32,33,36,.65);
    border-bottom:0;
    border-radius:8px 8px 2px 2px;
    background:linear-gradient(180deg,#fff,#dfe3e6);
    transform:skewX(-38deg);
    transform-origin:left bottom;
    z-index:-1;
}
.sviz-die::after{
    content:"";
    position:absolute;
    top:3px;
    right:-7px;
    bottom:-5px;
    width:7px;
    border:1px solid rgba(32,33,36,.55);
    border-left:0;
    border-radius:2px 7px 7px 2px;
    background:linear-gradient(90deg,#d7dbdf,#aeb4ba);
    transform:skewY(-38deg);
    transform-origin:left top;
    z-index:-1;
}
.sviz-die-pip{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#202124;
    box-shadow:inset 1px 1px 1px rgba(255,255,255,.28),inset -1px -1px 2px rgba(0,0,0,.35);
    opacity:0;
}
.sviz-die-pip.is-visible{opacity:1}
.sviz-die-pip-1{grid-column:1;grid-row:1}.sviz-die-pip-2{grid-column:2;grid-row:1}.sviz-die-pip-3{grid-column:3;grid-row:1}
.sviz-die-pip-4{grid-column:1;grid-row:2}.sviz-die-pip-5{grid-column:2;grid-row:2}.sviz-die-pip-6{grid-column:3;grid-row:2}
.sviz-die-pip-7{grid-column:1;grid-row:3}.sviz-die-pip-8{grid-column:2;grid-row:3}.sviz-die-pip-9{grid-column:3;grid-row:3}
.sviz-die-flash{animation:sviz-die-glow .52s ease-out}
.sviz-die.sviz-die-flash{box-shadow:inset 3px 3px 5px rgba(255,255,255,.95),inset -5px -6px 8px rgba(0,0,0,.11),4px 5px 0 #b8bdc2,0 0 0 4px rgba(255,214,87,.42),0 0 18px rgba(255,214,87,.72)}
@keyframes sviz-die-glow{
    0%{box-shadow:inset 3px 3px 5px rgba(255,255,255,.95),inset -5px -6px 8px rgba(0,0,0,.11),4px 5px 0 #b8bdc2,0 0 0 0 rgba(255,214,87,0)}
    45%{box-shadow:inset 3px 3px 5px rgba(255,255,255,.95),inset -5px -6px 8px rgba(0,0,0,.11),4px 5px 0 #b8bdc2,0 0 0 6px rgba(255,214,87,.34),0 0 24px rgba(255,214,87,.78)}
    100%{box-shadow:inset 3px 3px 5px rgba(255,255,255,.95),inset -5px -6px 8px rgba(0,0,0,.11),4px 5px 0 #b8bdc2,6px 7px 8px rgba(0,0,0,.18)}
}


/* 0.14.5: Querformat-Steuerung neben statt über dem Spielbrett. */
.sviz-play-layout{display:block}
@media (min-width:900px) and (orientation:landscape){
  .sviz-play-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(190px,230px);
    grid-template-areas:"board status";
    gap:clamp(14px,2vw,24px);
    align-items:start;
  }
  .sviz-board-wrap{grid-area:board;min-width:0}
  .sviz-statusbar{
    grid-area:status;
    position:sticky;
    top:12px;
    z-index:5;
    display:flex!important;
    flex-direction:column;
    align-items:stretch;
    gap:.85rem;
    padding:1rem;
    border:1px solid #dadce0;
    border-radius:16px;
    background:#fff;
    box-shadow:0 6px 18px rgba(0,0,0,.07);
  }
  body.admin-bar .sviz-statusbar{top:44px}
  .sviz-status-current,.sviz-turn-hint,.sviz-status-die{width:100%;text-align:center;justify-self:auto}
  .sviz-status-die{display:flex;justify-content:center}
  .sviz-turn-hint{white-space:normal;min-height:0}
  .sviz-statusbar .sviz-button{width:100%}
  .sviz-board{width:100%;max-width:720px}
}
@media (min-width:900px) and (orientation:landscape) and (max-height:700px){
  .sviz-statusbar{gap:.6rem;padding:.75rem}
}


/* 0.14.6: Gewinnzustand prominent in der Steuerung; deaktivierte Buttons bleiben optisch inert. */
.sviz-button:disabled,.sviz-button:disabled:hover,.sviz-button:disabled:focus{filter:none!important;text-decoration:none!important;cursor:not-allowed;pointer-events:none}
.sviz-win-panel{display:grid;gap:.3rem;padding:.8rem;border:1px solid rgba(213,58,58,.28);border-radius:12px;background:#fff4f4;text-align:center}
.sviz-win-panel[hidden]{display:none!important}
.sviz-win-panel strong{color:#c73333}
.sviz-status-new-game[hidden]{display:none!important}
@media (min-width:900px) and (orientation:landscape){
  .sviz-statusbar:has(.sviz-win-panel:not([hidden])) .sviz-status-current,
  .sviz-statusbar:has(.sviz-win-panel:not([hidden])) .sviz-turn-hint{display:none}
  .sviz-statusbar:has(.sviz-win-panel:not([hidden])) .sviz-status-new-game{display:block}
}

/* 0.16.55: Fernspielaktionen bewusst lesbar animieren. */
.sviz-app.sviz-remote-active .sviz-piece{transition:left 1.05s ease,top 1.05s ease,transform .24s ease,filter .24s ease}
.sviz-app.sviz-remote-active .sviz-die-flash{animation-duration:1.05s}


/* 0.16.59: Dino World Theme */
.sviz-theme-dino{--sviz-red:#2f9b4f;--sviz-blue:#2d7fd2;--sviz-green:#d53a3a;--sviz-yellow:#202327}
.sviz-theme-dino .sviz-home-red,.sviz-theme-dino .sviz-finish-red{background:#dff3d7;border-color:#2f9b4f}
.sviz-theme-dino .sviz-home-blue,.sviz-theme-dino .sviz-finish-blue{background:#dcecff;border-color:#2d7fd2}
.sviz-theme-dino .sviz-home-green,.sviz-theme-dino .sviz-finish-green{background:#f7d8d8;border-color:#d53a3a}
.sviz-theme-dino .sviz-home-yellow,.sviz-theme-dino .sviz-finish-yellow{background:#d7dadc;border-color:#202327}
.sviz-theme-dino .sviz-cell{background:linear-gradient(145deg,#fbfef7,#edf4e2);border-color:#92a58c;box-shadow:0 1px 2px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.92)}
.sviz-theme-dino .sviz-piece{border:2px solid rgba(255,255,255,.94);outline:2px solid rgba(68,91,48,.18);outline-offset:-1px;background:radial-gradient(circle at 34% 22%,rgba(255,255,255,.95) 0 8%,rgba(255,255,255,.28) 9% 18%,transparent 19%),linear-gradient(145deg,rgba(255,255,255,.34),transparent 34%),var(--sviz-piece-color);box-shadow:inset -3px -5px 7px rgba(0,0,0,.22),inset 2px 2px 5px rgba(255,255,255,.24),0 4px 6px rgba(0,0,0,.22)}
.sviz-theme-dino .sviz-piece::after{left:16%;top:7%;width:28%;height:20%;background:rgba(255,255,255,.36)}
.sviz-theme-dino .sviz-piece-symbol{inset:10% 10% 18%;filter:drop-shadow(0 1px 1px rgba(0,0,0,.26))}
.sviz-theme-dino .sviz-piece-number{bottom:16%;font-size:clamp(7px,1.05vw,10px)}
.sviz-theme-dino .sviz-board-decor{background-image:url('../images/theme-dino-md.webp') !important}

/* Nach der sichtbaren Fluganimation wird das Original ohne zweiten Bewegungsweg eingerastet. */
.sviz-piece.sviz-snap-after-animation,.sviz-app.sviz-remote-active .sviz-piece.sviz-snap-after-animation{transition:none!important}
