.dmg-wrap{max-width:1200px;margin:45px auto;padding:0 20px 80px;color:#194c3b}.dmg-wrap *{box-sizing:border-box}.dmg-wrap [hidden]{display:none!important}.dmg-heading{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:35px}.dmg-kicker{font-size:12px;letter-spacing:1.2px;font-weight:900;color:#bd8054}.dmg-heading h1{font-size:clamp(32px,4vw,53px);line-height:1.1;color:#15513f;letter-spacing:-1.5px;margin:13px 0}.dmg-heading p{color:#64806d;max-width:630px;line-height:1.7}.dmg-pill{border:1px solid #d0e4d3;background:#edf9ed;padding:12px 16px;border-radius:50px;white-space:nowrap;font-weight:800;font-size:12px;color:#37775a}.dmg-catalog{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-bottom:31px}.dmg-game{display:flex;flex-direction:column;gap:7px;align-items:center;text-align:center;border:1px solid #dfebdf;background:#f6f9f3;border-radius:16px;padding:20px 7px;color:#77937d;font-size:21px}.dmg-game strong{font-size:13px;color:#2b644e}.dmg-game small{font-size:10px}.dmg-game.chosen{cursor:default;border:2px solid #17876f;background:#e6f5e9}.dmg-tools{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px;padding:28px;border-radius:21px;background:#edf6e9}.dmg-button{border:0;background:#0e7863;color:white;font-weight:900;padding:15px 20px;min-height:49px;border-radius:27px;cursor:pointer;font-size:14px}.dmg-join{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.dmg-join label{font-weight:900;font-size:12px;color:#315b48}.dmg-join input{border:1px solid #cce1d0;border-radius:13px;height:48px;padding:10px;font-size:14px;max-width:180px}.dmg-join button{height:48px;border:1px solid #cce1d0;background:#fff;color:#1d6853;font-weight:900;border-radius:13px;padding:10px 15px;cursor:pointer}.dmg-open{margin:24px 0 35px}.dmg-open h2,.dmg-ranking h2{color:#195440}.dmg-open-row{padding:16px 20px;border:1px solid #e0ebe0;border-radius:15px;margin:9px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}.dmg-open-row button{border:0;border-radius:23px;background:#0d795e;color:#fff;cursor:pointer;padding:11px 17px;font-weight:800}.dmg-link-btn{border:1px solid #cde1d0;border-radius:22px;padding:11px 16px;background:#fff;color:#237054;font-weight:900;cursor:pointer}.dmg-room{margin:25px 0;padding:24px;border:1px solid #d7e8dc;background:white;border-radius:25px;box-shadow:0 15px 35px #124b3514}.dmg-room-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.dmg-room-toolbar h2{margin:0;font-size:24px;color:#15523e}.dmg-room-toolbar p{margin:9px 0 20px;font-size:12px;color:#63816c}.dmg-play-grid{display:grid;grid-template-columns:1.15fr .85fr;align-items:stretch;gap:25px}.dmg-play{min-width:0}.dmg-players{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:14px;font-weight:900;color:#2b6f54}.dmg-turn{text-align:center;background:#eaf8ed;padding:14px 10px;border-radius:13px;color:#20654c;font-size:13px;font-weight:800;margin:17px 0}.dmg-board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:13px;background:linear-gradient(130deg,#147e8a,#125d71);border-radius:20px;max-width:550px}.dmg-slot{display:grid;place-items:center;aspect-ratio:1;padding:0;background:none;border:0;cursor:pointer;touch-action:manipulation;border-radius:50%}.dmg-slot:before{content:"";display:block;width:87%;height:87%;border-radius:50%;background:#d7edea;box-shadow:inset 0 4px 8px #00526361}.dmg-slot.red:before{background:#ea7860}.dmg-slot.yellow:before{background:#f4c95a}.dmg-slot:disabled{cursor:default}.dmg-slot:focus-visible{outline:3px solid #fff59e}.dmg-small{font-size:11px!important;color:#8a998c!important;line-height:1.6!important}.dmg-chat{display:flex;flex-direction:column;border-radius:20px;background:#f8fbf6;border:1px solid #e2ece3;min-height:450px;max-height:610px;overflow:hidden}.dmg-chat-head{padding:14px 17px;border-bottom:1px solid #e4ebe3;display:flex;align-items:center;gap:7px}.dmg-chat-head strong{color:#195540;font-size:15px;flex:1}.dmg-chat-head small{color:#6f9477;font-size:10px}.dmg-chat-head button{display:none}.dmg-messages{flex:1;min-height:130px;overflow-y:auto;padding:17px 15px;display:flex;flex-direction:column;gap:11px}.dmg-msg{max-width:93%;padding:11px 14px;border-radius:14px;background:#e4f1e4;align-self:flex-start;word-break:break-word}.dmg-msg.mine{align-self:flex-end;background:#d3eee1}.dmg-msg-name{font-size:11px;color:#306a50;font-weight:900}.dmg-msg p{font-size:13px;color:#315848;margin:4px 0;line-height:1.5}.dmg-msg-actions{text-align:right}.dmg-msg-actions button{margin-left:9px;font-size:10px;border:0;background:transparent;color:#a47756;text-decoration:underline;cursor:pointer}.dmg-quick{padding:11px;display:flex;gap:7px;flex-wrap:wrap;border-top:1px solid #e4ece3}.dmg-quick button{border:1px solid #d2e4d3;background:#fff;color:#367052;font-weight:800;font-size:11px;padding:9px 10px;border-radius:17px;cursor:pointer}.dmg-compose{display:flex;gap:9px;padding:10px}.dmg-compose input{min-width:0;flex:1;height:48px;border:1px solid #d0e4d4;border-radius:25px;padding:11px 15px;font-size:13px}.dmg-compose button{flex:0 0 45px;border:0;background:#0e7d65;border-radius:50%;height:45px;color:#fff;cursor:pointer;font-size:22px}.dmg-chat>.dmg-small{padding:0 13px}.dmg-ranking{margin:45px 0 20px;padding:27px;background:#f0f7ed;border-radius:20px;border:1px solid #dceade}.dmg-ranking-switch{display:flex;gap:6px;margin:12px 0}.dmg-ranking-switch button{border:1px solid #cde0d3;background:#fff;padding:12px 15px;border-radius:13px;color:#276a53;cursor:pointer;font-weight:800}.dmg-ranking-switch button.selected{background:#0c7b62;color:white}.dmg-rank-row{display:grid;grid-template-columns:38px 1fr auto;gap:15px;border-bottom:1px solid #dceade;padding:15px 8px;font-size:14px}.dmg-rank-row b{color:#d08c4b}.dmg-rank-row strong{color:#08745a}.dmg-error{font-size:13px;color:#357c63;min-height:20px}.dmg-error.error{color:#ba443e}.dm-game-notice{background:#f0f9ee;padding:30px;border-radius:18px;color:#28684b;margin:45px auto;max-width:750px}@media(max-width:980px){.dmg-catalog{grid-template-columns:repeat(3,1fr)}.dmg-play-grid{grid-template-columns:1fr}.dmg-chat{min-height:300px;max-height:530px}}@media(max-width:650px){.dmg-wrap{padding:0 14px 40px;margin-top:25px}.dmg-heading{display:block}.dmg-heading p{font-size:13px}.dmg-pill{display:inline-block}.dmg-catalog{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.dmg-game{font-size:18px;padding:12px 4px}.dmg-game strong{font-size:10px}.dmg-game small{font-size:9px}.dmg-tools{padding:18px}.dmg-button{width:100%}.dmg-join{width:100%}.dmg-join label{width:100%}.dmg-join input{flex:1}.dmg-room{padding:14px 10px}.dmg-room-toolbar{display:block}.dmg-room-toolbar h2{font-size:20px}.dmg-room-toolbar button{margin:0 0 12px}.dmg-players{font-size:11px;gap:6px}.dmg-board{gap:4px;padding:7px;border-radius:12px}.dmg-chat{min-height:390px;max-height:520px}.dmg-chat-head{flex-wrap:wrap}.dmg-chat-head button{display:inline-flex;border:1px solid #cce2d2;background:#fff;border-radius:13px;padding:7px;color:#227357;font-weight:800;font-size:11px}.dmg-chat.collapsed{min-height:0;height:auto}.dmg-chat.collapsed .dmg-messages,.dmg-chat.collapsed .dmg-compose,.dmg-chat.collapsed .dmg-quick,.dmg-chat.collapsed>.dmg-small{display:none}.dmg-ranking{padding:17px}.dmg-ranking h2{font-size:22px}.dmg-rank-row{font-size:12px}}

/* Einladung am Spieltisch: Einladungen nur vom Gastgeber des wartenden Tisches. */
.dmg-invite-block{margin:0 0 24px;border:1px solid #d6e9d8;background:#f3faf1;padding:20px;border-radius:20px}
.dmg-invite-block h3{margin:0 0 9px;color:#1b604c;font-size:19px}
.dmg-invite-block p{color:#5e7c67;font-size:12px;line-height:1.7;margin:0 0 17px}
.dmg-invite-block form{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.dmg-invite-block label{font-weight:900;color:#276a52;font-size:12px}
.dmg-invite-block input{flex:1;min-width:180px;min-height:47px;border:1px solid #cde3d1;background:#fff;padding:11px 14px;border-radius:12px;font-size:13px}
.dmg-invite-block button{background:#0c7861;border:0;border-radius:23px;color:#fff;font-weight:900;font-size:13px;padding:13px 18px;cursor:pointer;min-height:47px}
.dmg-invite-block button:hover{background:#09624f}
.dmg-sent-invites{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}
.dmg-invite-sent{font-size:11px;font-weight:800;border:1px solid #dbebdc;background:white;color:#5f7f65;padding:10px 13px;border-radius:18px}
@media(max-width:650px){.dmg-invite-block{padding:15px}.dmg-invite-block form{flex-direction:column;align-items:stretch}.dmg-invite-block label,.dmg-invite-block input,.dmg-invite-block button{width:100%;max-width:none}}

/* An invitation link from an approved resident profile leads to a two-step action. */
.dmg-profile-invitation{background:#edf7ec;border-left:4px solid #18816b;padding:14px 18px;border-radius:12px;color:#315e4d;font-size:13px;line-height:1.7;margin:0 0 18px}
.dmg-profile-invitation strong{color:#145d4a}


/* Dorfmix Arcade 0.3.2 – premium 4-Gewinnt play surface, two resident portraits. */
.dmg-wrap .dmg-play-grid{grid-template-columns:minmax(0,1.22fr) minmax(300px,.78fr);gap:23px;align-items:start}
.dmg-wrap .dmg-arena{padding:19px;background:radial-gradient(ellipse at 50% 60%,#fff 0%,#f2f9ec 85%);border:1px solid #d4e7d7;border-radius:24px;box-shadow:0 14px 32px #25564312;min-width:0}
.dmg-arena-title{display:flex;justify-content:space-between;align-items:center;gap:6px;color:#397562;font-size:9px;letter-spacing:1.1px;font-weight:950;margin-bottom:16px}
.dmg-arena-title strong{background:#174e44;border-radius:18px;padding:9px 13px;color:#fff;font-size:11px;letter-spacing:1.9px;box-shadow:0 4px 11px #153e3330}
.dmg-wrap .dmg-players{display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);gap:6px;align-items:center;color:inherit;max-width:680px;margin:0 auto 12px}
.dmg-player-card{border-radius:16px;position:relative;padding:12px 13px 15px;background:#fff;border:2px solid #e4e8df;box-shadow:0 8px 17px #163c2d14;min-width:0;overflow:hidden;transition:box-shadow .22s,border-color .22s,transform .22s}
.dmg-player-red{--dmg-team:#f1685b;--dmg-team-soft:#fff0ed;--dmg-team-deep:#ad312a}
.dmg-player-gold{--dmg-team:#f1bc3d;--dmg-team-soft:#fff9e7;--dmg-team-deep:#866412}
.dmg-player-card::before{content:'';position:absolute;inset:0 0 auto;height:6px;background:linear-gradient(90deg,var(--dmg-team),transparent);opacity:.9}
.dmg-player-card.is-turn{border-color:var(--dmg-team);box-shadow:0 0 0 3px var(--dmg-team-soft),0 12px 25px #183b281d;transform:translateY(-2px)}
.dmg-player-card.is-winner{border-color:#52aa78;background:linear-gradient(130deg,#f7fff5,#fff)}
.dmg-player-top{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;gap:5px;margin-top:7px;font-size:9px;font-weight:900;min-width:0}
.dmg-player-role{color:var(--dmg-team-deep);letter-spacing:.35px}
.dmg-player-indicator{color:#7a9183;font-size:9px}
.is-turn .dmg-player-indicator{color:var(--dmg-team-deep);font-weight:950}
.dmg-player-main{display:flex;align-items:center;gap:9px;margin-top:12px;min-width:0}
.dmg-player-avatar{display:grid;place-items:center;width:54px;height:54px;min-width:54px;border-radius:16px;background:var(--dmg-team-soft);border:2px solid var(--dmg-team);box-shadow:inset 0 1px 0 white,0 3px 9px #184d381c;font-size:31px;line-height:1}
.dmg-player-bio{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}
.dmg-player-name{color:#194b3f;font-size:clamp(11px,1.5vw,16px);line-height:1.3;overflow-wrap:anywhere}
.dmg-player-caption{font-size:10px;color:#7e9583;line-height:1.35}
.dmg-player-disc{display:block;width:12px;height:12px;background:var(--dmg-team);border-radius:50%;box-shadow:inset 0 1px 2px white,0 2px 5px #0002;position:absolute;right:12px;bottom:10px}
.dmg-versus{font:italic 900 19px Georgia,serif;text-align:center;color:#c28859;text-shadow:0 2px #fff}
.dmg-wrap .dmg-turn{margin:16px auto 15px;padding:13px 17px;text-align:center;border:1px solid #d0e9d5;background:linear-gradient(110deg,#e5f5e7,#fafff7);border-radius:15px;color:#235d49;font-size:13px;line-height:1.5;max-width:640px;min-height:50px;box-shadow:inset 0 1px white}
.dmg-board-stage{width:100%;max-width:565px;margin:0 auto;position:relative;padding:0 9px}
.dmg-column-controls{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;align-items:center;margin:0 7px 5px}
.dmg-drop{width:100%;height:32px;border:0;border-radius:10px;background:transparent;color:#1a8b71;font-weight:900;font-size:20px;cursor:pointer;line-height:1;transition:transform .15s,background .15s,color .15s;touch-action:manipulation}
.dmg-drop:not(:disabled):hover,.dmg-drop:not(:disabled):focus-visible{background:#d5f1df;color:#e6954a;transform:translateY(2px);outline:2px solid #bce2cc}
.dmg-drop:disabled{color:#94af9d;cursor:default;opacity:.5}
.dmg-board-cabinet{border-radius:19px;position:relative;padding:10px;background:linear-gradient(135deg,#2376b0 0%,#0758a0 35%,#154985 100%);border:3px solid #084379;box-shadow:inset 0 4px 4px #ffffff50,inset 3px 0 7px #fff2,inset -6px -7px 9px #02356880,0 7px 0 #073e72,0 14px 21px #0b36543b}
.dmg-wrap .dmg-board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(3px,.75vw,8px);padding:clamp(5px,1.4vw,13px);border-radius:14px;background:linear-gradient(145deg,#1365a8,#06508d);max-width:none;box-shadow:inset 0 3px 13px #001f5a60;border:1px solid #ffffff35}
.dmg-wrap .dmg-slot{aspect-ratio:1;min-width:0;padding:0;display:grid;place-items:center;border:0;background:transparent;cursor:pointer;border-radius:50%;touch-action:manipulation;position:relative}
.dmg-wrap .dmg-slot::before{content:'';width:90%;height:90%;display:block;border-radius:50%;background:radial-gradient(circle at 37% 28%,#eaf8ff,#c4dbeb 68%,#91b1ca);box-shadow:inset 0 5px 7px #001e4860,inset 0 -1px 3px #ffffffa8,0 1px 2px #ffffff48;transition:transform .18s}
.dmg-wrap .dmg-slot.red::before{background:radial-gradient(circle at 34% 26%,#ffb5a6 0%,#f56d5c 38%,#d5342f 73%,#9a1f1e 100%);box-shadow:inset 0 2px 3px #ffe7e5c7,inset -4px -6px 6px #850b1640,0 2px 5px #011a3d4d}
.dmg-wrap .dmg-slot.yellow::before{background:radial-gradient(circle at 34% 26%,#fff9cb 0%,#ffe279 31%,#ffbd37 68%,#b87810 100%);box-shadow:inset 0 2px 3px #fff9d3c4,inset -4px -6px 6px #8b5b1d40,0 2px 5px #011a3d4d}
.dmg-wrap .dmg-slot:not(:disabled):hover::before{transform:scale(.91)}
.dmg-wrap .dmg-slot:focus-visible{outline:3px solid #fff5ab;outline-offset:1px}
.dmg-wrap .dmg-slot.is-last.red::before,.dmg-wrap .dmg-slot.is-last.yellow::before{outline:2px solid #fff8c2;outline-offset:1px}
.dmg-board-foot{height:25px;display:flex;justify-content:space-between;align-items:center;padding:0 10px;color:#96b9cc;font-weight:950;font-size:11px;letter-spacing:2px}
.dmg-board-foot i{width:19%;height:13px;background:linear-gradient(180deg,#145e9b,#0b427e);border-radius:0 0 11px 11px;box-shadow:0 5px 4px #153d4930}
.dmg-arena-caption{text-align:center;font-size:12px;color:#567f69;line-height:1.65;margin:14px auto 7px;max-width:450px}
.dmg-arena>.dmg-small{display:block;text-align:center;margin:0}
.dmg-wrap .dmg-chat{border-radius:21px;border-color:#d3e9da;box-shadow:0 10px 24px #174a3610}
@media(max-width:1100px){.dmg-wrap .dmg-play-grid{grid-template-columns:1fr}.dmg-wrap .dmg-arena{max-width:680px;margin:0 auto}.dmg-wrap .dmg-chat{min-height:300px;max-height:460px}}
@media(max-width:650px){.dmg-wrap .dmg-arena{padding:11px;border-radius:15px}.dmg-wrap .dmg-players{grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr);gap:3px}.dmg-player-card{padding:10px 8px 12px;border-radius:13px}.dmg-player-top{font-size:7.8px;gap:3px}.dmg-player-role,.dmg-player-indicator{font-size:7px}.dmg-player-main{gap:7px;margin-top:9px}.dmg-player-avatar{width:36px;height:36px;min-width:36px;border-radius:11px;font-size:22px}.dmg-player-name{font-size:11px}.dmg-player-caption{font-size:9px}.dmg-player-disc{width:8px;height:8px;right:7px;bottom:6px}.dmg-versus{font-size:14px}.dmg-wrap .dmg-turn{font-size:12px;padding:9px 12px;min-height:41px}.dmg-board-stage{padding:0 1px}.dmg-board-cabinet{padding:6px;border-width:2px;border-radius:13px;box-shadow:inset 0 2px 3px #fff4,0 5px 0 #06396a,0 9px 14px #0b365435}.dmg-wrap .dmg-board{padding:5px;gap:3px;border-radius:9px}.dmg-column-controls{gap:3px;margin:0 3px 3px}.dmg-drop{height:29px;font-size:16px}.dmg-arena-title strong{font-size:9px}.dmg-arena-title{font-size:8px}.dmg-arena-caption{font-size:10px}.dmg-wrap .dmg-room{padding:12px 9px}}
@media(prefers-reduced-motion:reduce){.dmg-player-card,.dmg-drop,.dmg-slot::before{transition:none!important}}
