:root{--holz-0: #140d08;--holz-1: #1f140d;--holz-2: #2f1e13;--holz-3: #4a2d1b;--text: #f4ead8;--text-leise: #b9a98f;--gold: #ffd34d;--gruen: #7dffa8;--rot: #ff8a7a;--radius: 14px;--rand: max(16px, env(safe-area-inset-left));--flaeche-min: 212px;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;background:var(--holz-0);color:var(--text);overscroll-behavior:none}body{font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;touch-action:manipulation;-webkit-user-select:none;user-select:none}#app{height:100dvh}button{font:inherit;color:inherit;cursor:pointer}input{font:inherit}[hidden]{display:none!important}.seite{max-width:520px;margin:0 auto;padding:max(20px,env(safe-area-inset-top)) var(--rand) 40px;height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.seite h1{margin:0;font-size:1.9rem;letter-spacing:.02em}.titel{text-align:center;padding:12px 0 4px}.titel .logo{width:84px;height:84px;margin:0 auto 8px;display:block;filter:drop-shadow(0 6px 14px #0008)}.untertitel{margin:4px 0 0;color:var(--text-leise)}.karte{background:linear-gradient(180deg,var(--holz-2),var(--holz-1));border:1px solid #ffffff14;border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 8px 24px #0006}.karte h2{margin:0;font-size:1.1rem}.hinweis{margin:0;color:var(--text-leise);font-size:.95rem}.klein{font-size:.85rem;color:var(--text-leise);margin:0}.fehler{color:var(--rot);min-height:1.2em;font-size:.9rem}button.gross,.seite button.gross{min-height:52px;border-radius:12px;border:0;padding:0 18px;font-weight:650;font-size:1.05rem;background:linear-gradient(180deg,#e9b94a,#b98621);color:#2a1a07;box-shadow:0 3px #6d4c10,0 8px 16px #0005}button.gross:active{transform:translateY(2px);box-shadow:0 1px #6d4c10}button.gross:disabled{opacity:.5}button.leise{min-height:44px;border:1px solid #ffffff22;background:transparent;border-radius:12px;color:var(--text-leise)}button.klein{border:0;background:#ffffff14;border-radius:8px;width:32px;height:32px}input{min-height:48px;border-radius:12px;border:1px solid #ffffff2a;background:#00000040;color:var(--text);padding:0 14px;width:100%}input:focus{outline:2px solid var(--gold);outline-offset:1px}.namensfeld,.codezeile{display:flex;flex-direction:column;gap:10px}.codezeile{flex-direction:row}.codezeile input{text-transform:uppercase;letter-spacing:.25em;text-align:center;font-weight:700}.codezeile button{min-width:110px;border-radius:12px;border:1px solid #ffffff2a;background:#ffffff10}.profilzeile{display:flex;align-items:center;gap:10px}.profilzeile .stat{margin-left:auto;color:var(--text-leise);font-size:.85rem}.segment{display:grid;grid-template-columns:repeat(3,1fr);background:#00000040;border-radius:12px;padding:3px;gap:3px}.segment button{border:0;background:transparent;min-height:40px;border-radius:9px;color:var(--text-leise)}.segment button.an{background:var(--holz-3);color:var(--text);box-shadow:inset 0 0 0 1px #fff2}.spieleliste{display:flex;flex-direction:column;gap:8px}.zeile{display:flex;justify-content:space-between;align-items:center;gap:8px;text-align:left;min-height:54px;padding:8px 14px;border-radius:12px;border:1px solid #ffffff14;background:#00000030}.zeile span{color:var(--text-leise);font-size:.9rem}.zeile.dran{border-color:var(--gold);background:#ffd34d1a}.zeile.dran span{color:var(--gold);font-weight:650}.code{font-size:3rem;font-weight:800;letter-spacing:.3em;text-align:center;padding:14px 0 14px .3em;background:#00000040;border-radius:var(--radius);color:var(--gold);user-select:all;-webkit-user-select:all}.spiel{position:relative;height:100dvh;display:grid;overflow:hidden;background:radial-gradient(120% 80% at 50% 50%,var(--holz-2),var(--holz-0))}.spiel.tisch{grid-template-rows:1fr auto 1fr}.spiel.online{grid-template-rows:auto 1fr auto}.buehne{position:relative;min-height:0}.spiel.tisch .buehne{height:min(124vw,calc(100dvh - 2 * var(--flaeche-min)));min-height:180px}.buehne canvas{width:100%;height:100%;display:block;touch-action:none}.flaeche{position:relative;display:flex;flex-direction:column;gap:8px;padding:12px var(--rand);justify-content:center;background:linear-gradient(180deg,#ffffff08,#00000030);border:0 solid transparent;transition:background .3s}.flaeche.unten{padding-bottom:max(12px,env(safe-area-inset-bottom))}.flaeche.oben.online{padding-top:max(10px,env(safe-area-inset-top))}.flaeche.oben.tisch{transform:rotate(180deg);padding-bottom:max(12px,env(safe-area-inset-top))}.flaeche.aktiv{background:linear-gradient(180deg,#ffd34d14,#ffd34d06);box-shadow:inset 0 0 0 2px #ffd34d66}.flaeche.oben.online{padding-block:8px;gap:2px}.flaeche.oben.online .knoepfe,.flaeche.oben.online .abgetragen{display:none}.kopf{display:flex;align-items:center;gap:10px}.name{font-weight:700;font-size:1.1rem}.augen{margin-left:auto;color:var(--text-leise);font-size:.9rem}.augen b{color:var(--text);font-size:1.05rem}.chip{width:22px;height:22px;border-radius:50%;flex:none;box-shadow:inset 0 -3px #0004,0 1px 3px #0008}.chip.w{background:#f1e7d0}.chip.b{background:#3b2622;outline:1px solid #ffffff40}.menue{margin-left:4px;min-width:44px;height:44px;border-radius:12px;border:1px solid #ffffff22;background:#ffffff10;font-size:1.25rem}.abgetragen{display:flex;gap:3px;flex-wrap:wrap;min-height:14px}.abgetragen{gap:6px}.abgetragen i{width:5%;max-width:22px;flex:1 1 0;height:12px;border-radius:6px;border:1px dashed #ffffff30}.abgetragen i.v{border-style:solid;border-color:#0006}.abgetragen i.v.w{background:#f1e7d0}.abgetragen i.v.b{background:#3b2622;border-color:#ffffff50}.status{font-size:clamp(1.1rem,4.8vw,1.5rem);font-weight:650;min-height:1.5em;line-height:1.25}.status[data-ton=dran]{color:var(--gold)}.status[data-ton=still]{color:var(--text-leise);font-weight:500;font-size:1.05rem}.status[data-ton=hinweis]{color:var(--rot)}.knoepfe{display:flex;gap:10px;min-height:52px}.knoepfe .zurueck{flex:1}.knoepfe button{min-height:52px;border-radius:12px;border:1px solid #ffffff22;background:#ffffff12;padding:0 16px;font-weight:600}.ergebnis{display:none;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:0}.flaeche.vorbei .status,.flaeche.vorbei .knoepfe,.flaeche.vorbei .abgetragen{display:none}.flaeche.vorbei .ergebnis{display:flex}.ergebnis-titel{font-size:1.5rem;font-weight:800}.ergebnis-titel.sieg{color:var(--gold)}.ergebnis-titel.niederlage,.ergebnis-sub{color:var(--text-leise)}.ergebnis-knoepfe{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.ergebnis-knoepfe button{min-height:48px;border-radius:12px;border:1px solid #ffffff22;background:#ffffff12;padding:0 16px}.ergebnis-knoepfe button.gross{border:0;background:linear-gradient(180deg,#e9b94a,#b98621);color:#2a1a07}.blatt{position:absolute;left:0;right:0;height:50%;z-index:5;padding:14px var(--rand);background:#140d08f2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;flex-direction:column;gap:10px;overflow-y:auto}.blatt.unten{bottom:0;border-top:2px solid var(--gold)}.blatt.oben{top:0;transform:rotate(180deg);border-top:2px solid var(--gold)}.blatt.online{height:auto;max-height:70%}.blatt h2{margin:0;font-size:1.2rem}.menue-liste{display:grid;grid-template-columns:1fr 1fr;gap:10px}.menue-liste button{min-height:52px;border-radius:12px;border:1px solid #ffffff22;background:#ffffff10;padding:0 10px}.menue-liste button:first-child{grid-column:1 / -1;background:linear-gradient(180deg,#e9b94a,#b98621);color:#2a1a07;font-weight:700;border:0}.menue-liste button.warn{background:#b23a2b;border-color:#ff8a7a}@media (max-height: 560px){.flaeche{gap:4px;padding-block:6px}.status{font-size:1.05rem}.knoepfe button{min-height:42px}:root{--flaeche-min: 98px}.knoepfe{min-height:42px}.abgetragen{display:none}}@media (prefers-reduced-motion: reduce){*{transition:none!important}}
