:root{font-family:Inter,Arial,Helvetica,sans-serif;color:#1f1930;background:#f4effb;--purple:#512182;--purple2:#7a3fba;--ink:#20152e;--muted:#71667d;--green:#16834b;--red:#b52d43;--orange:#d57a12;--blue:#2e63b8}*{box-sizing:border-box}html,body{margin:0;min-height:100%;overscroll-behavior:none}body{min-height:100vh;background:radial-gradient(circle at 12% 0,#eadcff 0,transparent 38%),radial-gradient(circle at 100% 20%,#ffe9c8 0,transparent 32%),#f7f4fb}button,input{font:inherit}.hidden{display:none!important}.action-shell{min-height:100vh;padding-bottom:max(28px,env(safe-area-inset-bottom))}.action-topbar{height:72px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 max(18px,env(safe-area-inset-left));background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(81,33,130,.12);position:sticky;top:0;z-index:20}.action-topbar>a,.text-button{color:var(--purple);font-weight:850;text-decoration:none;border:0;background:transparent;padding:10px;cursor:pointer}.text-button{justify-self:end}.action-logo{display:flex;align-items:center;gap:9px;color:var(--purple);font-size:23px}.action-logo span{font-size:29px}.panel{width:min(calc(100% - 28px),980px);margin:28px auto 0;background:rgba(255,255,255,.97);border:1px solid rgba(81,33,130,.12);border-radius:26px;padding:clamp(24px,4vw,42px);box-shadow:0 22px 60px rgba(58,35,79,.12)}.centered{text-align:center;min-height:300px;display:grid;place-content:center}.spinner{width:44px;height:44px;margin:0 auto;border:5px solid #e6dcf0;border-top-color:var(--purple2);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.hero-icon{font-size:68px;text-align:center}.section-kicker{text-transform:uppercase;letter-spacing:.16em;color:var(--purple2);font-weight:900;font-size:12px;text-align:center}.setup-panel h1,.turn-panel h1{font-size:clamp(38px,6vw,64px);line-height:1.02;color:var(--purple);text-align:center;margin:10px 0}.lead{text-align:center;color:var(--muted);font-size:18px;line-height:1.55;max-width:720px;margin:0 auto 28px}.team-list{display:grid;gap:12px;max-width:680px;margin:0 auto}.team-row{display:grid;grid-template-columns:48px 1fr 48px;gap:10px;align-items:center}.team-number{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--purple),var(--purple2));font-weight:900;font-size:20px}.team-row input{width:100%;padding:15px 17px;border:2px solid #d8cee3;border-radius:15px;font-size:20px;font-weight:750;outline:none}.team-row input:focus{border-color:var(--purple2);box-shadow:0 0 0 4px rgba(122,63,186,.12)}.remove-team{width:44px;height:44px;border-radius:13px;border:0;background:#f7e6ea;color:var(--red);font-weight:900;font-size:21px;cursor:pointer}.setup-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:22px}.button{border:0;border-radius:15px;padding:13px 19px;font-weight:900;cursor:pointer;transition:transform .12s,filter .15s;min-height:50px}.button:active{transform:scale(.985)}.button:disabled{opacity:.48;cursor:not-allowed}.button.primary{background:linear-gradient(135deg,var(--purple),var(--purple2));color:#fff;box-shadow:0 10px 22px rgba(81,33,130,.22)}.button.secondary{background:#eee8f5;color:#442064}.button.danger{background:#f8e3e7;color:var(--red)}.button.large{padding:16px 24px;font-size:18px}.button.full{width:100%}.fine-print{text-align:center;color:#8a8094;margin:22px 0 0}.game-view{width:min(calc(100% - 28px),1180px);margin:22px auto 0}.scoreboard{display:flex;gap:12px;overflow-x:auto;padding:2px 2px 10px;scrollbar-width:thin}.score-team{min-width:180px;flex:1;background:#fff;border:2px solid transparent;border-radius:18px;padding:14px 16px;box-shadow:0 8px 24px rgba(50,35,66,.08);transition:.2s}.score-team.current{border-color:var(--purple2);box-shadow:0 12px 30px rgba(81,33,130,.16)}.score-team-name{font-weight:850;color:#4b4055;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score-team-points{display:flex;align-items:baseline;gap:6px;margin-top:6px}.score-team-points strong{font-size:30px;color:var(--purple)}.score-team-points span{font-size:13px;color:var(--muted)}.turn-panel{width:100%;margin-top:8px;min-height:590px}.turn-meta{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-weight:800}.current-team-label{text-align:center;text-transform:uppercase;letter-spacing:.17em;color:var(--purple2);font-size:13px;font-weight:900;margin-top:22px}.stage{margin-top:26px}.difficulty-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.difficulty{border:0;border-radius:23px;padding:23px 16px;background:#fff;box-shadow:0 12px 30px rgba(50,35,66,.1);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:7px;border:3px solid transparent;transition:.17s}.difficulty:hover,.difficulty:focus-visible{transform:translateY(-3px)}.difficulty-points{width:68px;height:68px;display:grid;place-items:center;border-radius:50%;font-size:34px;font-weight:950;color:#fff}.difficulty strong{font-size:25px;color:var(--ink)}.difficulty small{color:var(--muted);font-size:15px}.difficulty-1{border-color:#ccebdd}.difficulty-1 .difficulty-points{background:var(--green)}.difficulty-2{border-color:#f4dec2}.difficulty-2 .difficulty-points{background:var(--orange)}.difficulty-3{border-color:#f1cbd1}.difficulty-3 .difficulty-points{background:var(--red)}.printing-stage,.ready-stage,.timer-stage,.result-stage{text-align:center}.mode-badge{display:inline-flex;border-radius:999px;background:#eee5f8;color:var(--purple);padding:10px 18px;text-transform:uppercase;letter-spacing:.13em;font-weight:950}.printer-animation{height:150px;display:grid;place-content:center;position:relative}.printer-animation>span{font-size:78px;animation:printer-bounce 1.2s ease-in-out infinite}.print-lines{position:absolute;width:96px;height:11px;background:#fff;border:2px solid #34233f;bottom:23px;left:50%;transform:translateX(-50%);animation:paper 1.2s ease-in-out infinite}@keyframes printer-bounce{50%{transform:translateY(-6px)}}@keyframes paper{0%{height:5px}60%,100%{height:40px}}.printing-stage h2,.result-stage h2{font-size:30px;margin:4px 0 10px}.printing-stage p{color:var(--muted);font-size:17px}.mode-card{max-width:650px;margin:0 auto 18px;padding:24px;border-radius:22px;background:linear-gradient(135deg,#f1e8fb,#fff);display:grid;grid-template-columns:74px 1fr;grid-template-rows:auto auto;text-align:left;column-gap:14px;align-items:center}.mode-card .mode-icon{grid-row:1/3;font-size:55px}.mode-card strong{font-size:29px;color:var(--purple)}.mode-card small{font-size:16px;color:var(--muted)}.secret-note{font-size:18px;color:#5e5368;margin:20px 0}.start-button{width:min(100%,520px);min-height:76px;background:linear-gradient(135deg,#16834b,#25aa67);color:#fff;font-size:24px;box-shadow:0 12px 28px rgba(22,131,75,.25)}.timer-mode{text-transform:uppercase;letter-spacing:.12em;color:var(--purple);font-weight:950;margin-bottom:10px}.timer-ring{width:min(54vw,330px);aspect-ratio:1;margin:0 auto;position:relative}.timer-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.timer-track,.timer-progress{fill:none;stroke-width:14}.timer-track{stroke:#e9e2ee}.timer-progress{stroke:var(--purple2);stroke-linecap:round;stroke-dasharray:603.19;stroke-dashoffset:0;transition:stroke-dashoffset .18s linear,stroke .25s}.timer-number{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(74px,13vw,128px);font-weight:950;color:var(--purple);font-variant-numeric:tabular-nums}.timer-rule{font-size:18px;font-weight:750;color:#5f5369;max-width:720px;margin:10px auto 0}.time-up{font-size:72px;margin:8px 0}.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:760px;margin:28px auto 0}.fail-button,.success-button{min-height:84px;font-size:23px}.fail-button{background:#f2e9eb;color:var(--red)}.success-button{background:linear-gradient(135deg,#16834b,#25aa67);color:#fff;box-shadow:0 10px 22px rgba(22,131,75,.2)}.modal{position:fixed;inset:0;background:rgba(25,14,36,.7);backdrop-filter:blur(8px);z-index:100;display:grid;place-items:center;padding:22px;overflow:auto}.modal-card{width:min(100%,880px);background:#fff;border-radius:27px;padding:clamp(24px,4vw,42px);box-shadow:0 30px 90px rgba(0,0,0,.28);max-height:calc(100vh - 44px);overflow:auto}.modal-icon,.trophy{text-align:center;font-size:65px}.modal-card h2{text-align:center;color:var(--purple);font-size:clamp(30px,5vw,48px);margin:9px 0 24px}.rules-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.rules-list li{display:grid;grid-template-columns:44px 1fr;gap:13px;align-items:start;background:#faf8fc;border-radius:16px;padding:13px}.rules-list li>span{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--purple);color:#fff;font-weight:950}.rules-list strong{font-size:17px}.rules-list p{margin:4px 0 0;color:var(--muted);line-height:1.42}.rule-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.rule-tabs>div{background:#eee8f5;border-radius:14px;padding:13px;display:flex;flex-direction:column;gap:5px}.rule-tabs small{color:var(--muted);line-height:1.35}.winner-card{text-align:center}.trophy{font-size:90px;animation:trophy .9s ease-in-out infinite alternate}@keyframes trophy{to{transform:rotate(5deg) scale(1.05)}}.winner-card>p{font-size:20px;color:var(--muted)}.winner-board{display:grid;gap:8px;max-width:600px;margin:20px auto}.winner-row{display:flex;justify-content:space-between;padding:13px 16px;border-radius:13px;background:#f5f1f8;font-weight:850}.winner-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:24px}.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translate(-50%,24px);background:#25152f;color:#fff;border-radius:14px;padding:13px 18px;font-weight:800;z-index:200;opacity:0;pointer-events:none;transition:.22s;max-width:min(90vw,650px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.error{background:#9d2135}.toast.success{background:#116d3d}@media(max-width:760px){.action-topbar{grid-template-columns:auto 1fr auto}.action-logo strong{display:none}.difficulty-grid{grid-template-columns:1fr}.difficulty{display:grid;grid-template-columns:72px 1fr;grid-template-rows:auto auto;text-align:left;padding:15px}.difficulty-points{grid-row:1/3}.difficulty strong{font-size:22px}.result-actions{grid-template-columns:1fr}.rule-tabs{grid-template-columns:1fr}.turn-panel{min-height:520px}.team-row{grid-template-columns:42px 1fr 42px}.team-number,.remove-team{width:40px;height:40px}}@media(orientation:landscape) and (max-height:700px){.turn-panel{padding-top:20px;min-height:480px}.turn-panel h1{font-size:43px}.lead{margin-bottom:15px}.stage{margin-top:15px}.difficulty{padding:14px}.difficulty-points{width:56px;height:56px;font-size:28px}.timer-ring{width:250px}.mode-card{padding:16px}.printer-animation{height:110px}.printer-animation>span{font-size:60px}.time-up{font-size:50px}}

/* Action-Mix 2.2: 18+-Schalter, Kontrollregel und Worttausch */
.adult-toggle-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin:18px 0 4px;padding:17px 18px;border:2px solid #e1d5eb;border-radius:18px;background:#fbf8fd;cursor:pointer;text-align:left;transition:.2s}
.adult-toggle-card:has(input:checked){border-color:#b52d43;background:#fff0f3;box-shadow:0 8px 22px rgba(181,45,67,.12)}
.adult-toggle-copy{display:flex;flex-direction:column;gap:4px}.adult-toggle-copy strong{font-size:19px;color:#3b2449}.adult-toggle-copy small{color:var(--muted);line-height:1.35}
.adult-badge{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#b52d43;color:#fff;font-weight:950;font-size:17px}
.switch{position:relative;width:62px;height:36px;display:inline-block;flex:0 0 auto}.switch input{position:absolute;opacity:0;pointer-events:none}.switch-track{position:absolute;inset:0;border-radius:999px;background:#c9c1cf;transition:.2s;box-shadow:inset 0 0 0 2px rgba(0,0,0,.05)}.switch-track::after{content:"";position:absolute;width:28px;height:28px;left:4px;top:4px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.22);transition:.2s}.switch input:checked+.switch-track{background:#b52d43}.switch input:checked+.switch-track::after{transform:translateX(26px)}
.control-note{max-width:760px;margin:18px auto;padding:16px 18px;border-radius:16px;background:#fff4d9;color:#604300;font-size:17px;line-height:1.45;font-weight:750}
.ready-actions{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:12px;max-width:760px;margin:0 auto}.ready-actions .start-button{width:100%}.reroll-button{min-height:76px;background:#fff;color:#9d2135;border:2px solid #dba2ad;font-size:19px}.reroll-button:hover{background:#fff0f3}.reroll-hint{margin:10px auto 0;color:var(--muted);font-size:14px}
.adult-rule-warning{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:-8px 0 18px;padding:13px 16px;border-radius:14px;background:#ffe6eb;color:#8e1730}.adult-rule-warning strong{font-size:17px}.adult-rule-warning span{font-size:14px}
@media(max-width:760px){.adult-toggle-card{grid-template-columns:auto 1fr}.adult-badge{display:none}.ready-actions{grid-template-columns:1fr}.reroll-button{min-height:62px}.control-note{font-size:15px}}

/* Version 2.3 */
.endgame-note{max-width:820px;margin:16px auto 0;padding:14px 17px;border-radius:16px;background:#fff1c9;color:#624500;border:1px solid #efd48c;font-weight:850;line-height:1.45;text-align:center}
.ready-actions{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr)}
.label-reprint-button{min-height:76px;background:#eef3ff;color:#244b91;border:2px solid #b9caee;font-size:17px}
.label-reprint-button:hover{background:#e3ebff}
.early-success-note{max-width:720px;margin:12px auto 16px;color:#3f6a4f;background:#e9f8ef;border-radius:14px;padding:12px 15px;font-weight:800;line-height:1.4}
.timer-actions{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:12px;max-width:760px;margin:18px auto 0}
.timer-success-button{min-height:72px;font-size:22px}
.timer-actions .label-reprint-button{min-height:72px}
@media(max-width:900px){.ready-actions{grid-template-columns:1fr 1fr}.ready-actions .start-button{grid-column:1/-1}}
@media(max-width:760px){.ready-actions,.timer-actions{grid-template-columns:1fr}.ready-actions .start-button{grid-column:auto}.label-reprint-button{min-height:60px}.timer-success-button{min-height:70px}.endgame-note{font-size:14px}}

/* Tabu 3.0 */
.tabu-theme{--purple:#8b1e2d;--purple2:#c33449;--bg:#fff5f5;--panel:#fff;--green:#15803d;--orange:#c56a09;--red:#b91c1c}
.tabu-theme .action-topbar{background:linear-gradient(135deg,#65131f,#9f2337)}
.tabu-theme .mode-badge{background:#fee2e2;color:#8b1e2d}
.tabu-theme .mode-card{background:linear-gradient(135deg,#fff0f0,#fff)}
.tabu-theme .mode-card strong,.tabu-theme .timer-mode{color:#8b1e2d}
.tabu-theme .timer-progress{stroke:#c33449}
.tabu-theme .timer-number{color:#8b1e2d}
.tabu-rule-card{display:flex;flex-direction:column;align-items:center;gap:7px;margin:18px 0 22px;padding:18px;border:2px dashed #d99aa4;border-radius:16px;background:#fff7f8;text-align:center}
.tabu-example-main{font-size:26px;font-weight:950;color:#8b1e2d;letter-spacing:.04em}
.tabu-rule-card small{font-size:15px;color:#6b3c43}

.tabu-theme .timer-actions{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr);max-width:980px}
.violation-button{min-height:72px;background:#fee2e2;color:#991b1b;border:2px solid #ef9aa5;font-size:17px;font-weight:900}
.violation-button:hover{background:#fecdd3}
@media(max-width:900px){.tabu-theme .timer-actions{grid-template-columns:1fr 1fr}.tabu-theme .timer-success-button{grid-column:1/-1}}
@media(max-width:760px){.tabu-theme .timer-actions{grid-template-columns:1fr}.tabu-theme .timer-success-button{grid-column:auto}}


/* 4.9.2 Mobile Ausgabe */
.output-mode-picker{max-width:760px;margin:22px auto 0;padding:0;border:0}.output-mode-picker legend{width:100%;text-align:center;color:var(--muted);font-weight:900;margin-bottom:10px}.output-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.output-mode-card{position:relative;display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;border:2px solid #ddd3e7;border-radius:18px;padding:16px;background:#fff;cursor:pointer;text-align:left;transition:.18s}.output-mode-card:has(input:checked){border-color:var(--purple2);background:#f4edfb;box-shadow:0 9px 24px rgba(81,33,130,.12)}.output-mode-card input{position:absolute;opacity:0;pointer-events:none}.output-mode-icon{font-size:34px}.output-mode-card span:last-child{display:flex;flex-direction:column;gap:3px}.output-mode-card strong{font-size:17px;color:var(--ink)}.output-mode-card small{color:var(--muted);line-height:1.35}.mobile-display-button{border:1px solid #cbb9df;background:#f4edfb;color:var(--purple);border-radius:999px;padding:7px 11px;font-weight:900;cursor:pointer}.mobile-connect-card{text-align:center;max-width:650px}.mobile-connect-card>p{color:var(--muted);font-size:16px;line-height:1.5;max-width:560px;margin:0 auto 18px}.mobile-qr{width:min(260px,75vw);margin:10px auto 14px;padding:10px;background:#fff;border-radius:18px;border:1px solid #e3dae9;display:grid;place-items:center}.mobile-code-label{text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:950;color:var(--muted)}.mobile-code{font-size:31px;letter-spacing:.16em;font-weight:950;color:var(--purple);margin:5px 0 10px}.mobile-open-link{display:inline-block;color:var(--blue);font-weight:850;text-decoration:none;margin-bottom:18px}.mobile-connect-actions{max-width:480px;margin:0 auto}.mobile-connect-hint{font-size:13px!important;margin-top:12px!important}.mobile-output-note{max-width:760px;margin:18px auto;padding:14px 16px;border-radius:15px;background:#eaf0ff;color:#244b91;font-weight:800;line-height:1.4}.output-mobile .label-reprint-button{display:none!important}@media(max-width:760px){.output-mode-grid{grid-template-columns:1fr}.turn-meta{flex-wrap:wrap}.mobile-display-button{margin-left:auto}.mobile-code{font-size:25px}}

/* 4.9.5 – zweistufige Mobileinrichtung */
.mobile-pair-progress{display:grid;grid-template-columns:auto 34px auto;align-items:center;justify-content:center;gap:8px;margin:2px auto 20px;color:var(--muted);font-size:12px;font-weight:900}.mobile-pair-progress span{display:flex;align-items:center;gap:6px}.mobile-pair-progress span b{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#e7e0ed;color:var(--muted)}.mobile-pair-progress span.active{color:var(--purple)}.mobile-pair-progress span.active b{background:var(--purple);color:#fff}.mobile-pair-progress i{height:2px;background:#ddd3e7;border-radius:10px}.mobile-setup-mini{max-width:520px;margin:2px auto 16px;padding:0;list-style:none;display:grid;gap:8px;text-align:left}.mobile-setup-mini li{display:grid;grid-template-columns:30px 1fr;gap:9px;align-items:center;background:#f6f3f8;border-radius:12px;padding:9px 11px;color:var(--ink);font-size:14px;line-height:1.35}.mobile-setup-mini li b{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#e4d8ee;color:var(--purple)}.mobile-connect-actions{display:grid;gap:8px}.mobile-connect-actions .secondary{background:#f0ebf5;color:var(--purple);border:1px solid #d7c8e4}.mobile-connect-card strong{color:var(--ink)}
