.topnav{display:flex;align-items:center;gap:8px}.topnav a{color:var(--muted);text-decoration:none;border-radius:8px;padding:8px 10px;font-weight:650;font-size:13px}.topnav a:hover,.topnav a.active{background:var(--surface2);color:var(--text)}.topnav form{margin:0}.owner-line{font-size:11px;color:var(--muted);margin:4px 0 10px}.button-link{display:inline-block;text-decoration:none;margin-top:16px}.small{font-size:12px}.success{color:var(--accent);margin:0}.notice{border:1px solid currentColor;border-radius:10px;padding:12px 14px}.wide-card{width:min(500px,100%)}.narrow-shell{max-width:760px}.settings-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:24px}.settings-card h2{margin-top:0}.settings-grid{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:20px;align-items:start}.user-list{display:grid;gap:12px}.user-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px}.user-card.inactive{opacity:.58}.user-head{display:flex;justify-content:space-between;gap:16px}.user-head h2{margin:0 0 5px}.role-badge{display:inline-block;color:var(--accent);font:11px ui-monospace,monospace}.user-actions,.inline-form{display:flex;gap:8px;align-items:center;margin-top:14px}.user-actions form{margin:0}.inline-form input{flex:1}.user-card summary{cursor:pointer;color:var(--muted)}.upload-label{display:inline-flex;align-items:center;justify-content:center}.upload-label input{display:none}.storage-panel{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:18px;margin-bottom:18px}.storage-panel>div:first-child{margin-bottom:10px}.storage-progress{display:block;width:100%;height:11px;margin:8px 0;accent-color:var(--accent)}.upload-progress{background:var(--surface2);border:1px solid var(--border);border-radius:14px;padding:16px;margin-bottom:18px}.file-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:auto}.file-table{width:100%;border-collapse:collapse;min-width:760px}.file-table th,.file-table td{text-align:left;padding:14px;border-bottom:1px solid var(--border);vertical-align:middle}.file-table th{color:var(--muted);font-size:12px}.file-table tr:last-child td{border-bottom:0}.file-name{display:block;color:var(--text);font-weight:700;text-decoration:none;max-width:420px;overflow-wrap:anywhere}.file-name:hover{color:var(--accent)}.file-hash{display:block;color:var(--muted);font:10px ui-monospace,monospace;max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-delete{padding:7px 10px}.empty.compact{padding:50px 20px}.file-hero{align-items:center}
@media(max-width:760px){.topbar{height:auto;min-height:68px;gap:8px}.topnav{justify-content:flex-end;flex-wrap:wrap;gap:2px;padding:8px 0}.topnav a{padding:6px 7px;font-size:12px}.topnav .ghost{padding:6px 4px}.settings-grid{grid-template-columns:1fr}.user-head{align-items:start;flex-direction:column}.inline-form{align-items:stretch;flex-direction:column}.file-hero{align-items:stretch}.upload-label{min-height:48px}}

.file-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.action-link{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;text-decoration:none;white-space:nowrap}.music-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:18px;margin:24px 0}.music-upload-card{margin:0}.music-upload-card .primary{margin-top:16px}.music-storage{margin:0;align-self:start}.music-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) minmax(180px,260px) auto;gap:14px;align-items:end}.genre-filter{color:var(--muted);font-size:12px}.genre-filter select{display:block;width:100%;margin-top:6px}.music-table{min-width:980px}.music-table td:first-child{min-width:220px}.music-actions{min-width:440px}.genre-badge{display:inline-block;border:1px solid var(--border);color:var(--accent);font:11px ui-monospace,monospace;padding:4px 7px}.persistent-player{position:fixed;z-index:50;left:50%;bottom:12px;transform:translateX(-50%);width:min(1160px,calc(100% - 24px));display:grid;grid-template-columns:minmax(190px,1fr) auto minmax(280px,2fr) auto auto auto;align-items:center;gap:12px;padding:12px 14px;background:rgba(3,9,16,.97);border:1px solid var(--accent);box-shadow:0 18px 60px rgba(0,0,0,.65),0 0 28px rgba(126,255,59,.12)}.persistent-player[hidden]{display:none}.player-track{display:flex;flex-direction:column;min-width:0}.player-track strong,.player-track span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-kicker{color:var(--accent);font:9px ui-monospace,monospace;letter-spacing:.14em}.persistent-player audio{width:100%;height:38px}.player-skip{font-size:18px;padding:7px 10px}.player-download{margin:0}.player-close{font-size:22px}.player-visible .shell{padding-bottom:130px}.navigating main{opacity:.72;transition:opacity .12s}.music-hero{padding-bottom:34px}

@media(max-width:900px){.music-layout{grid-template-columns:1fr}.music-toolbar{grid-template-columns:1fr}.persistent-player{grid-template-columns:auto minmax(0,1fr) auto auto}.player-track{grid-column:1/-1}.persistent-player audio{grid-column:2/3}.player-download{display:none}.player-visible .shell{padding-bottom:190px}}
@media(max-width:560px){.persistent-player{bottom:0;width:100%;border-left:0;border-right:0;border-bottom:0;border-radius:0;gap:7px;padding:10px}.player-skip{padding:6px}.persistent-player audio{min-width:0}.music-actions{min-width:360px}.file-actions{flex-direction:column;align-items:stretch}.action-link{text-align:center}}

/* Version 1.7: dauerhafter Seitenplayer, Kartenbibliothek und Suchfilter */
.music-command-center{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:18px;margin:24px 0 48px}.music-upload-card,.music-storage,.music-filter-panel,.bulk-tools,.genre-section{background:linear-gradient(145deg,rgba(9,21,34,.97),rgba(5,12,22,.94));border:1px solid var(--border);box-shadow:0 18px 44px rgba(0,0,0,.24)}.music-upload-card{padding:24px}.section-head,.music-library-head,.genre-section-head,.player-head,.player-queue-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-head h2,.music-library-head h2{margin:5px 0 0}.music-dropzone{border:1px dashed #226294;background:rgba(16,55,92,.18);margin:22px 0;padding:28px;text-align:center;display:grid;justify-items:center;cursor:pointer;transition:.18s}.music-dropzone:hover,.music-dropzone:focus-within{border-color:var(--accent);background:rgba(126,255,59,.06)}.music-dropzone>span{color:var(--accent);font-size:34px}.music-dropzone strong{font-size:17px}.music-dropzone small{color:var(--muted);font-weight:400}.music-dropzone input{position:absolute;width:1px;height:1px;opacity:0}.music-common-meta>p{color:var(--muted);font:11px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.12em}.music-common-meta .fields{grid-template-columns:repeat(3,1fr)}.music-upload-queue{border-top:1px solid var(--border);margin-top:20px;max-height:260px;overflow:auto}.music-upload-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;border-bottom:1px solid rgba(16,55,92,.65);padding:11px 4px}.music-upload-item>span{color:var(--accent)}.music-upload-item div{min-width:0}.music-upload-item strong,.music-upload-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.music-upload-item small{color:var(--muted)}.music-upload-item em{font:10px ui-monospace,monospace;color:var(--muted);max-width:220px;text-align:right}.music-upload-item em.active{color:var(--warning)}.music-upload-item em.done{color:var(--accent)}.music-upload-item em.error{color:var(--danger)}.music-upload-actions{display:flex;gap:10px;margin-top:18px}.music-upload-actions button:disabled{opacity:.42;cursor:not-allowed}.music-storage{align-self:start;margin:0}.music-library-head{border-bottom:1px solid var(--border);padding-bottom:18px}.music-filter-panel,.file-filter-panel{display:grid;grid-template-columns:minmax(260px,1fr) minmax(170px,240px) minmax(170px,240px);gap:14px;align-items:end;margin:20px 0 12px;padding:16px}.file-filter-panel{grid-template-columns:minmax(260px,1fr) minmax(190px,260px) auto}.music-filter-panel .search,.file-filter-panel .search{height:48px}.music-filter-panel label:not(.search),.file-filter-panel label:not(.search){color:var(--muted);font:11px ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase}.alphabet-filter{display:flex;flex-wrap:wrap;gap:5px;margin:12px 0 28px}.alphabet-filter button{min-width:31px;height:31px;border:1px solid var(--border);background:rgba(5,12,22,.78);color:var(--muted);cursor:pointer;font:11px ui-monospace,monospace}.alphabet-filter button:first-child{padding:0 12px}.alphabet-filter button:hover,.alphabet-filter button.active{border-color:var(--accent);color:var(--accent);background:rgba(126,255,59,.08)}.bulk-tools{position:sticky;top:88px;z-index:4;display:flex;align-items:end;gap:14px;padding:14px 16px;margin-bottom:20px}.bulk-tools[hidden]{display:none}.bulk-tools strong{margin-right:auto}.bulk-tools label{min-width:230px}.genre-section{padding:20px;margin-bottom:22px}.genre-section-head{border-bottom:1px solid var(--border);margin-bottom:18px;padding-bottom:14px}.genre-section-head span{color:var(--accent);font:9px ui-monospace,monospace;letter-spacing:.16em}.genre-section-head h3{font-size:23px;margin:2px 0}.genre-section-head>strong{display:grid;place-items:center;border:1px solid var(--accent);color:var(--accent);height:34px;min-width:34px;font:12px ui-monospace,monospace}.music-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(218px,1fr));gap:14px}.music-card{background:#07111d;border:1px solid #174366;min-width:0;transition:transform .18s,border-color .18s,box-shadow .18s}.music-card:hover{transform:translateY(-3px);border-color:#2874aa}.music-card.is-playing{border-color:var(--accent);box-shadow:0 0 28px rgba(126,255,59,.12)}.music-card-art{height:142px;display:grid;place-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 55% 38%,rgba(126,255,59,.24),transparent 29%),linear-gradient(135deg,#0c3150,#06101b)}.music-card-art[data-color="1"]{background:radial-gradient(circle at 42% 40%,rgba(255,102,92,.3),transparent 28%),linear-gradient(135deg,#3b1623,#07111d)}.music-card-art[data-color="2"]{background:radial-gradient(circle at 54% 34%,rgba(131,135,255,.34),transparent 28%),linear-gradient(135deg,#202452,#07111d)}.music-card-art[data-color="3"]{background:radial-gradient(circle at 40% 45%,rgba(255,199,61,.32),transparent 26%),linear-gradient(135deg,#453215,#07111d)}.music-card-art[data-color="4"]{background:radial-gradient(circle at 58% 42%,rgba(44,218,207,.32),transparent 28%),linear-gradient(135deg,#114144,#07111d)}.music-card-art[data-color="5"]{background:radial-gradient(circle at 44% 35%,rgba(238,94,255,.28),transparent 28%),linear-gradient(135deg,#3b194a,#07111d)}.music-card-art:before{content:"";position:absolute;width:92px;height:92px;border:1px solid rgba(255,255,255,.17);border-radius:50%;box-shadow:inset 0 0 0 20px rgba(0,0,0,.18),inset 0 0 0 21px rgba(255,255,255,.1)}.music-card-art>span{position:relative;z-index:1;color:#fff;font-size:26px}.music-select{position:absolute;left:10px;top:10px;z-index:2;display:block}.music-select input{accent-color:var(--accent);width:19px;height:19px}.music-select span{position:absolute;width:1px;height:1px;overflow:hidden}.music-card-body{padding:16px}.music-card-body h3{font-size:18px;line-height:1.2;margin:4px 0;overflow-wrap:anywhere}.music-card-body p:not(.music-card-kicker){color:var(--text);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-card-body small{display:block;color:var(--muted);margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-card-kicker{color:var(--accent);font:9px ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;margin:0}.music-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;border-top:1px solid var(--border);padding:11px}.music-card-actions>*{font-size:10px;padding:8px 6px!important}.music-card-actions .danger{grid-column:1/-1}.music-library[hidden]{display:none}

.persistent-player{position:fixed;z-index:60;left:12px;top:12px;bottom:12px;transform:none;width:268px;display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:17px;background:linear-gradient(165deg,rgba(7,22,36,.99),rgba(3,9,16,.99));border:1px solid #21618f;box-shadow:18px 0 60px rgba(0,0,0,.5),0 0 28px rgba(126,255,59,.08);overflow:hidden}.persistent-player[hidden]{display:flex}.player-head{padding-bottom:11px;border-bottom:1px solid var(--border)}.player-head>div{display:grid}.player-head strong{font:13px ui-monospace,monospace;letter-spacing:.1em}.player-status{color:var(--accent);font:9px ui-monospace,monospace;border:1px solid var(--border);padding:3px 5px}.player-art{height:150px;flex:0 0 150px;display:grid;place-items:center;position:relative;background:radial-gradient(circle,rgba(126,255,59,.3),transparent 32%),linear-gradient(135deg,#123a59,#07111d);border:1px solid #1b527a}.player-art:before{content:"";position:absolute;width:96px;height:96px;border-radius:50%;border:1px solid rgba(255,255,255,.2);box-shadow:inset 0 0 0 23px rgba(0,0,0,.24),inset 0 0 0 24px rgba(255,255,255,.1)}.player-art>span{font-size:28px;z-index:1}.player-art[data-color="1"]{filter:hue-rotate(60deg)}.player-art[data-color="2"]{filter:hue-rotate(120deg)}.player-art[data-color="3"]{filter:hue-rotate(180deg)}.player-art[data-color="4"]{filter:hue-rotate(240deg)}.player-art[data-color="5"]{filter:hue-rotate(300deg)}.player-track{min-height:68px}.player-track strong{font-size:16px}.player-genre{color:var(--accent);font:9px ui-monospace,monospace;text-transform:uppercase;margin-top:4px}.persistent-player audio{display:none}.player-timeline input,.player-volume input{width:100%;accent-color:var(--accent);padding:0}.player-timeline>div{display:flex;justify-content:space-between;color:var(--muted);font:9px ui-monospace,monospace}.player-main-controls{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:7px}.player-main-controls button{height:39px}.player-options{display:grid;grid-template-columns:1fr 1fr;gap:7px}.player-mode[aria-pressed="true"]{border:1px solid var(--accent)!important;color:var(--accent)!important;background:rgba(126,255,59,.08)!important}.player-volume{color:var(--muted);font:9px ui-monospace,monospace;letter-spacing:.12em}.player-links{display:grid;gap:6px}.player-links a{margin:0;text-align:center;font-size:9px;border:1px solid var(--border);padding:7px}.player-links .is-disabled{opacity:.4;pointer-events:none}.player-queue{display:flex;flex-direction:column;min-height:100px;flex:1;overflow:hidden;border-top:1px solid var(--border);padding-top:10px}.player-queue-head{font:9px ui-monospace,monospace;color:var(--muted);margin-bottom:7px}.player-queue-list,.player-queue ol{list-style:none;padding:0;margin:0;overflow:auto}.player-queue li button{width:100%;display:grid;grid-template-columns:24px minmax(0,1fr);gap:6px;text-align:left;align-items:center;background:transparent;border:0;border-left:2px solid transparent;color:var(--muted);padding:7px;cursor:pointer}.player-queue li.active button{border-left-color:var(--accent);background:rgba(126,255,59,.06);color:var(--text)}.player-queue li button>span:first-child{font:9px ui-monospace,monospace}.player-queue li button>span:last-child{min-width:0}.player-queue li strong,.player-queue li small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-queue li strong{font-size:11px}.player-queue li small{font-size:9px;color:var(--muted)}.player-queue-empty{color:var(--muted);font-size:11px;padding:10px}.player-layout{padding-left:292px}.player-layout .topbar{max-width:1180px}.player-visible .shell{padding-bottom:64px}#toast{z-index:80}

@media(max-width:1149px){.player-layout{padding-left:0;padding-bottom:184px}.player-layout .topbar{max-width:calc(100% - 20px)}.persistent-player{left:10px;right:10px;top:auto;bottom:10px;width:auto;height:164px;display:grid;grid-template-columns:74px minmax(150px,1fr) minmax(220px,1.6fr) auto;grid-template-rows:auto auto auto;gap:7px 12px;padding:11px}.persistent-player[hidden]{display:grid}.player-head{grid-column:1/-1;padding-bottom:5px}.player-art{grid-column:1;grid-row:2/4;width:74px;height:74px;min-height:74px;flex-basis:74px}.player-art:before{width:48px;height:48px;box-shadow:inset 0 0 0 11px rgba(0,0,0,.24),inset 0 0 0 12px rgba(255,255,255,.1)}.player-track{grid-column:2;grid-row:2}.player-timeline{grid-column:2/4;grid-row:3}.player-main-controls{grid-column:3;grid-row:2}.player-options,.player-volume,.player-links,.player-queue{display:none}.music-command-center{grid-template-columns:1fr}.music-filter-panel{grid-template-columns:1fr 1fr}.music-filter-panel .search{grid-column:1/-1}.bulk-tools{top:86px;flex-wrap:wrap}.player-visible .shell{padding-bottom:64px}}
@media(max-width:760px){.music-common-meta .fields,.music-filter-panel,.file-filter-panel{grid-template-columns:1fr}.music-filter-panel .search{grid-column:auto}.music-upload-card{padding:16px}.music-dropzone{padding:22px 12px}.music-upload-actions,.bulk-tools{align-items:stretch;flex-direction:column}.bulk-tools{position:static}.bulk-tools label{min-width:0}.music-card-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.file-filter-panel .count{padding:5px}.alphabet-filter{gap:4px}.player-layout{padding-bottom:154px}.persistent-player{height:134px;grid-template-columns:minmax(130px,1fr) minmax(170px,1.2fr);grid-template-rows:auto auto auto}.player-head{grid-column:1/-1}.player-art{display:none}.player-track{grid-column:1;grid-row:2}.player-main-controls{grid-column:2;grid-row:2}.player-timeline{grid-column:1/-1;grid-row:3}.player-genre{display:none}}
@media(max-width:500px){.persistent-player{left:0;right:0;bottom:0;border-left:0;border-right:0;height:126px}.player-head{display:none}.player-track{grid-row:1}.player-main-controls{grid-row:1}.player-timeline{grid-row:2}.music-card-grid{grid-template-columns:1fr}.music-card-art{height:125px}.music-upload-item{grid-template-columns:auto minmax(0,1fr)}.music-upload-item em{grid-column:2;text-align:left}.file-actions{flex-direction:column;align-items:stretch}}

/* Version 1.8: App-Dashboard und gemeinsamer Benutzerchat */
.nav-chat-badge,.tile-chat-badge,.nav-game-badge,.tile-game-badge{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:99px;background:var(--danger);color:#fff;font:700 10px ui-monospace,monospace;vertical-align:middle}.nav-chat-badge[hidden],.tile-chat-badge[hidden],.nav-game-badge[hidden],.tile-game-badge[hidden]{display:none}.dashboard-shell{max-width:1280px}.dashboard-hero{margin-bottom:28px}.dashboard-online{display:grid;justify-items:end;align-content:center;border-right:3px solid var(--accent);padding:12px 18px;min-width:210px;background:rgba(7,17,29,.72)}.dashboard-online>span{color:var(--accent);font-size:12px}.dashboard-online strong{font:14px ui-monospace,monospace;letter-spacing:.12em}.dashboard-online small{color:var(--muted)}.app-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.app-tile{position:relative;min-height:270px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr auto;gap:12px 24px;padding:28px;color:var(--text);text-decoration:none;background:linear-gradient(145deg,rgba(9,27,44,.98),rgba(4,11,19,.96));border:1px solid #174a72;overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s;clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,24px 100%,0 calc(100% - 24px))}.app-tile:before{content:"";position:absolute;right:-60px;bottom:-90px;width:230px;height:230px;border:1px solid rgba(126,255,59,.12);border-radius:50%;box-shadow:inset 0 0 0 38px rgba(126,255,59,.025),inset 0 0 0 39px rgba(126,255,59,.08)}.app-tile:hover,.app-tile:focus-visible{transform:translateY(-5px);border-color:var(--accent);box-shadow:0 20px 52px rgba(0,0,0,.38),0 0 30px rgba(126,255,59,.09);outline:none}.app-tile-number{position:absolute;right:18px;top:16px;color:#39759c;font:10px ui-monospace,monospace}.app-tile-icon{grid-row:1/3;display:grid;place-items:center;width:82px;height:82px;border:1px solid var(--accent);color:var(--accent);font:700 27px ui-monospace,monospace;background:rgba(126,255,59,.05);box-shadow:inset 0 0 26px rgba(126,255,59,.06)}.app-tile>div{align-self:center;position:relative;z-index:1}.app-tile p{color:var(--accent);font:9px ui-monospace,monospace;letter-spacing:.17em;margin:0}.app-tile h2{font:900 clamp(28px,3vw,44px)/1 Arial Black,Arial,sans-serif;text-transform:uppercase;letter-spacing:-.045em;margin:7px 0}.app-tile div>span{color:var(--muted)}.app-tile>strong{grid-column:1/-1;align-self:end;border-top:1px solid var(--border);padding-top:14px;color:var(--muted);font:10px ui-monospace,monospace;letter-spacing:.14em}.app-tile:hover>strong{color:var(--accent)}.tile-files .app-tile-icon{border-color:#43d9ff;color:#43d9ff}.tile-music .app-tile-icon{border-color:#d7ff3f;color:#d7ff3f}.tile-chat .app-tile-icon{border-color:#c88cff;color:#c88cff}.tile-users .app-tile-icon{border-color:#ffbd5a;color:#ffbd5a}.tile-account .app-tile-icon{border-color:#78a8ff;color:#78a8ff}

.chat-shell{max-width:1100px}.chat-hero{margin-bottom:24px}.chat-live{display:grid;gap:6px;justify-items:end;padding:14px 18px;border-right:3px solid var(--accent);background:rgba(7,17,29,.75)}.chat-live span{color:var(--accent);font:10px ui-monospace,monospace;letter-spacing:.12em}.chat-live strong{font-size:12px;color:var(--muted)}.chat-panel{border:1px solid #17517d;background:rgba(4,11,19,.96);box-shadow:0 24px 64px rgba(0,0,0,.38)}.chat-panel-head{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid var(--border);background:linear-gradient(90deg,rgba(16,55,92,.34),transparent)}.chat-panel-head>div{display:flex;align-items:center;gap:12px}.chat-panel-head strong,.chat-panel-head small{display:block}.chat-panel-head small{color:var(--muted)}.chat-panel-head>span{color:var(--accent);font:9px ui-monospace,monospace;letter-spacing:.12em}.chat-room-mark{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--accent);color:var(--accent);font:20px ui-monospace,monospace}.chat-load-older{display:block;margin:12px auto 0;border:1px solid var(--border)!important;padding:7px 14px}.chat-messages{height:clamp(360px,52vh,620px);overflow-y:auto;padding:24px;scroll-behavior:smooth}.chat-empty{height:100%;display:grid;place-content:center;text-align:center;color:var(--muted)}.chat-empty>span{color:var(--accent);font-size:34px}.chat-empty strong{color:var(--text);font-size:18px}.chat-empty p{margin:5px}.chat-message{display:flex;align-items:flex-start;gap:10px;margin:0 0 18px;max-width:82%}.chat-message.own{margin-left:auto;flex-direction:row-reverse}.chat-avatar{flex:0 0 34px;height:34px;display:grid;place-items:center;border:1px solid #24628d;background:#0b2135;color:var(--accent);font:700 12px ui-monospace,monospace}.chat-bubble{min-width:150px;border:1px solid #17486d;background:#081725;padding:11px 13px}.chat-message.own .chat-bubble{border-color:#3c7e31;background:rgba(35,77,24,.25)}.chat-bubble>div{display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(151,168,189,.14);padding-bottom:6px}.chat-bubble strong{font-size:12px;color:var(--accent)}.chat-bubble time{margin-left:auto;color:var(--muted);font:9px ui-monospace,monospace;white-space:nowrap}.chat-delete{font-size:18px;padding:0 3px}.chat-bubble p{white-space:pre-wrap;overflow-wrap:anywhere;margin:9px 0 0;line-height:1.5}.chat-compose{border-top:1px solid var(--border);padding:18px 20px;background:#06101b}.chat-compose>label{color:var(--muted);font:10px ui-monospace,monospace;letter-spacing:.1em;margin-bottom:7px}.chat-compose textarea{width:100%;resize:vertical;min-height:76px;max-height:220px}.chat-compose>div{display:flex;align-items:center;gap:18px;margin-top:10px;color:var(--muted);font:9px ui-monospace,monospace}.chat-compose>div span:nth-child(2){margin-left:auto}.chat-compose button{min-width:120px}.chat-compose button:disabled{opacity:.5;cursor:not-allowed}

@media(max-width:1050px){.topbar{height:auto;min-height:76px}.topnav{flex-wrap:wrap;justify-content:flex-end}.topnav a{padding:6px 7px}}
@media(max-width:760px){.app-grid{grid-template-columns:1fr}.app-tile{min-height:220px}.dashboard-online,.chat-live{justify-items:start;border-right:0;border-left:3px solid var(--accent)}.chat-messages{height:48vh;padding:16px}.chat-message{max-width:94%}.chat-compose>div{flex-wrap:wrap}.chat-compose>div span:nth-child(2){margin-left:0}.chat-compose button{margin-left:auto}.dashboard-hero,.chat-hero{align-items:stretch}}
@media(max-width:480px){.app-tile{padding:22px;grid-template-columns:62px 1fr;gap:10px 16px;min-height:190px}.app-tile-icon{width:62px;height:62px}.app-tile h2{font-size:27px}.chat-bubble>div{flex-wrap:wrap}.chat-bubble time{margin-left:0}.chat-compose button{width:100%;margin:0}}

/* Version 1.8.1: kontoweite, benutzergetrennte Player-Synchronisierung */
.player-sync-banner{display:grid;gap:6px;border:1px solid var(--border);background:rgba(16,55,92,.16);padding:7px}.player-sync-banner>span{color:var(--accent);font:8px ui-monospace,monospace;letter-spacing:.09em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-sync-banner button{border:1px solid var(--accent)!important;color:var(--accent)!important;padding:6px;font-size:8px}.player-sync-banner button[hidden]{display:none}
@media(max-width:1149px){.player-sync-banner{grid-column:4;grid-row:2/4;align-self:stretch;justify-content:center;min-width:145px}.player-sync-banner>span{white-space:normal;text-align:center}.player-sync-banner button{align-self:center}}
@media(max-width:760px){.persistent-player{position:fixed}.player-sync-banner{position:absolute;right:9px;top:7px;display:block;min-width:0;padding:0;border:0;background:transparent}.player-sync-banner>span{display:none}.player-sync-banner button{background:#07111d!important;padding:5px 7px!important;max-width:155px}}

/* Version 1.8.2: individuelle Bildwelten fuer die Startseiten-Kacheln */
.app-tile{background-color:#07111d;background-image:linear-gradient(90deg,rgba(3,9,16,.9) 0%,rgba(3,9,16,.74) 43%,rgba(3,9,16,.2) 76%,rgba(3,9,16,.06) 100%),var(--tile-art);background-position:center;background-repeat:no-repeat;background-size:cover;isolation:isolate;text-shadow:0 2px 10px rgba(0,0,0,.86)}
.app-tile:before{display:none}
.app-tile-number,.app-tile-icon,.app-tile>div,.app-tile>strong{z-index:1}
.app-tile-icon{background:rgba(3,9,16,.72);box-shadow:inset 0 0 26px rgba(126,255,59,.06),0 5px 22px rgba(0,0,0,.34)}
.app-tile>strong{border-top-color:rgba(151,168,189,.34)}
.tile-commands{--tile-art:url("tile-commands.webp")}
.tile-files{--tile-art:url("tile-files.webp")}
.tile-music{--tile-art:url("tile-music.webp")}
.tile-chat{--tile-art:url("tile-chat.webp")}
.tile-users{--tile-art:url("tile-users.webp")}
.tile-account{--tile-art:url("tile-account.webp")}
.tile-links{--tile-art:url("tile-links.webp")}
@media(max-width:760px){.app-tile{background-position:right center}}

/* Version 1.8.3: Netzwerk-Navigation und erweiterte Musikwarteschlange */
.topnav{gap:7px}.topnav a{position:relative;border:1px solid rgba(126,255,59,.3);border-radius:2px;padding:8px 11px;background:linear-gradient(180deg,rgba(126,255,59,.045),rgba(4,14,23,.72));color:#b7c8d8;font:700 12px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.035em;box-shadow:inset 0 0 0 1px rgba(126,255,59,.025);transition:border-color .16s,color .16s,background .16s,box-shadow .16s,text-shadow .16s,transform .16s}.topnav a:hover,.topnav a.active{border-color:var(--accent);background:linear-gradient(180deg,rgba(126,255,59,.13),rgba(5,20,25,.92));color:var(--accent);text-shadow:0 0 12px rgba(126,255,59,.68);box-shadow:inset 0 0 14px rgba(126,255,59,.055),0 0 13px rgba(126,255,59,.13);transform:translateY(-1px)}.topnav a.active:after{content:"";position:absolute;left:9px;right:9px;bottom:3px;height:1px;background:var(--accent);box-shadow:0 0 8px rgba(126,255,59,.9)}.topnav form .ghost{border:1px solid rgba(126,255,59,.3)!important;border-radius:2px!important;background:rgba(4,14,23,.72)!important;color:#b7c8d8!important;font:700 11px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;padding:8px 10px!important}.topnav form .ghost:hover{border-color:var(--accent)!important;color:var(--accent)!important;text-shadow:0 0 10px rgba(126,255,59,.65);box-shadow:0 0 12px rgba(126,255,59,.12)}
.player-collections{display:grid;gap:6px;border-top:1px solid var(--border);padding-top:9px}.player-collection-row{display:grid;grid-template-columns:1fr 1fr;gap:5px}.player-collection-row select{width:100%;min-width:0;height:30px;padding:0 5px;border:1px solid #1c4f73;border-radius:0;background:#06111c;color:#a9bfd2;font:9px ui-monospace,SFMono-Regular,Consolas,monospace;text-overflow:ellipsis}.player-collection-row select:hover,.player-collection-row select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 10px rgba(126,255,59,.09)}.player-all-tracks{height:27px!important;padding:4px 7px!important;border-radius:0!important;font:9px ui-monospace,SFMono-Regular,Consolas,monospace!important;letter-spacing:.1em}.player-all-tracks[aria-pressed="true"]{border-color:var(--accent)!important;color:var(--accent)!important;background:rgba(126,255,59,.07)!important}.player-drop-hint{flex:0 0 auto;border:1px dashed rgba(126,255,59,.32);background:rgba(126,255,59,.025);color:#668195;text-align:center;padding:5px 4px;margin-bottom:5px;font:8px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.09em;transition:.15s}.player-drop-hint.active{border-color:var(--accent);background:rgba(126,255,59,.13);color:var(--accent);box-shadow:inset 0 0 12px rgba(126,255,59,.07),0 0 12px rgba(126,255,59,.09)}.player-queue ol{min-height:0}.player-queue li{display:grid;grid-template-columns:minmax(0,1fr) 22px;align-items:center;border-left:2px solid transparent}.player-queue li.active{border-left-color:var(--accent);background:rgba(126,255,59,.06)}.player-queue li.is-dragging{opacity:.42}.player-queue li .player-queue-play{width:100%;display:grid;grid-template-columns:24px minmax(0,1fr);gap:6px;text-align:left;align-items:center;background:transparent;border:0!important;border-left:0!important;color:var(--muted);padding:7px 4px 7px 6px;cursor:pointer;min-width:0}.player-queue li.active .player-queue-play{background:transparent;color:var(--text)}.player-queue li .player-queue-remove{width:22px;height:24px;display:grid;place-items:center;padding:0!important;margin:0!important;border:0!important;background:transparent!important;color:#668195!important;font:700 14px/1 ui-monospace,monospace;cursor:pointer}.player-queue li .player-queue-remove:hover{color:#ff665c!important;text-shadow:0 0 9px rgba(255,102,92,.55)}.music-card[draggable="true"]{cursor:grab}.music-card[draggable="true"]:active{cursor:grabbing}.music-card.is-dragging{opacity:.48;transform:scale(.985)}
@media(max-width:1149px){.player-collections{display:none}.player-drop-hint{display:none}}
@media(max-width:760px){.topnav{gap:4px}.topnav a{padding:6px 8px;font-size:10px}.topnav form .ghost{padding:6px 7px!important;font-size:10px}}

/* Version 1.8.4: vertikale Seitenidentitaet, kompakter Kopfbereich und Queue-Freiraum */
@media(min-width:1150px){
  .page-rail-shell{max-width:1450px!important;display:grid;grid-template-columns:126px minmax(0,1fr);gap:20px;align-items:start;padding-top:18px!important}
  .page-rail-shell.narrow-shell{max-width:1040px!important;grid-template-columns:118px minmax(0,700px)}
  .page-title-rail{position:sticky;top:98px;height:calc(100vh - 116px);min-height:560px;display:flex;justify-content:flex-start;align-items:center;padding:12px 6px;border-right:1px solid rgba(16,55,92,.68);overflow:hidden}
  .page-title-rail:after{content:"";position:absolute;right:-1px;top:0;width:2px;height:28%;background:linear-gradient(var(--accent),transparent);box-shadow:0 0 14px rgba(126,255,59,.28)}
  .page-title-rail h1{margin:0;display:flex;align-items:flex-start;justify-content:center;gap:6px;max-height:100%;font-family:Arial Black,Arial,sans-serif;font-size:clamp(30px,2.65vw,48px);font-weight:900;line-height:.86;letter-spacing:-.055em;text-transform:uppercase;white-space:nowrap}
  .page-title-rail .rail-line{writing-mode:vertical-rl;text-orientation:mixed;color:var(--text);text-shadow:0 3px 20px rgba(0,0,0,.72)}
  .page-title-rail .rail-accent{color:var(--accent);text-shadow:0 0 22px rgba(126,255,59,.13)}
  .page-content{min-width:0}
  .page-context{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 0 18px;padding:10px 0 16px;border-bottom:1px solid rgba(16,55,92,.66);position:relative}
  .page-context:after{content:"";position:absolute;right:0;bottom:-1px;width:28%;border-bottom:2px solid var(--accent);box-shadow:0 0 14px rgba(126,255,59,.28)}
  .page-context>div:first-child{min-width:0}
  .page-context .muted{max-width:760px;margin:8px 0 0;font-size:14px;line-height:1.45}
  .page-context .primary,.page-context .upload-label{flex:0 0 auto}
  .dashboard-context .dashboard-online,.chat-context .chat-live{flex:0 0 auto}
  .page-rail-shell .toolbar{margin-top:0}
  .page-rail-shell .music-command-center{margin-top:0}
  .account-context{justify-content:flex-start}.account-context .account-name{margin:5px 0 0;font-size:34px;line-height:1}.account-context .muted{margin-top:6px}
  .page-rail-shell .system-rail{margin-top:28px}
}

/* Queue: Loesch-X bleibt immer links vom Scrollbalken sichtbar. */
#player-queue-list{scrollbar-gutter:stable;padding-right:12px;scrollbar-width:thin;scrollbar-color:#61707d rgba(3,9,16,.9)}
#player-queue-list::-webkit-scrollbar{width:8px}
#player-queue-list::-webkit-scrollbar-track{background:rgba(3,9,16,.9)}
#player-queue-list::-webkit-scrollbar-thumb{background:#61707d;border:2px solid rgba(3,9,16,.9)}
.player-queue li{column-gap:6px}
.player-queue li .player-queue-remove{justify-self:end}

/* Hintergrund etwas sichtbarer, Grundstil und Bildwechsel bleiben unveraendert. */
body::before{background:linear-gradient(90deg,rgba(5,12,22,.10),transparent 35%,rgba(5,12,22,.24))}
.bg-cycle::after{background:linear-gradient(90deg,rgba(5,12,22,.86) 0%,rgba(5,12,22,.66) 45%,rgba(5,12,22,.44) 100%),linear-gradient(180deg,rgba(5,12,22,.28),rgba(5,12,22,.62))}
@keyframes background-cycle{0%{opacity:0}4%,25%{opacity:.50}29%,100%{opacity:0}}

@media(max-width:1149px){
  .page-rail-shell{display:block;padding-top:24px!important}
  .page-title-rail{position:relative;display:block;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid rgba(16,55,92,.66)}
  .page-title-rail h1{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin:0;font-family:Arial Black,Arial,sans-serif;font-size:clamp(28px,6vw,44px);line-height:.95;letter-spacing:-.05em;text-transform:uppercase}
  .page-title-rail .rail-line{writing-mode:horizontal-tb;color:var(--text)}
  .page-title-rail .rail-accent{color:var(--accent)}
  .page-context{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 18px;padding:0 0 14px;border-bottom:1px solid rgba(16,55,92,.55)}
  .page-context .muted{margin:7px 0 0}
}
@media(max-width:760px){
  .page-context{align-items:stretch;flex-direction:column}
  .dashboard-context .dashboard-online,.chat-context .chat-live{justify-items:start;border-right:0;border-left:3px solid var(--accent)}
  .bg-cycle::after{background:linear-gradient(180deg,rgba(5,12,22,.76),rgba(5,12,22,.88))}
}


/* Version 1.8.5: vertikale Seitentitel naeher am Player, groesser und am oberen Inhalt verankert */
@media(min-width:1150px){
  .page-rail-shell{grid-template-columns:98px minmax(0,1fr);gap:14px;padding-left:0!important}
  .page-rail-shell.narrow-shell{grid-template-columns:94px minmax(0,700px)}
  .page-title-rail{top:88px;align-items:flex-start;justify-content:flex-start;padding:8px 2px 10px 6px}
  .page-title-rail h1{font-size:clamp(38px,3.05vw,56px);line-height:.84;gap:4px;justify-content:flex-start}
}

/* Version 1.8.6: gedrehter Ein-Zeilen-Titelblock naeher am Player */
@media(min-width:1150px){
  .page-rail-shell{grid-template-columns:74px minmax(0,1fr);gap:8px;padding-left:0!important}
  .page-rail-shell.narrow-shell{grid-template-columns:72px minmax(0,700px)}
  .page-title-rail{top:84px;align-items:flex-start;justify-content:flex-start;padding:6px 0 8px 2px;border-right:1px solid rgba(16,55,92,.68)}
  .page-title-rail h1{position:relative;left:0;top:0;display:inline-flex;flex-wrap:nowrap;align-items:center;gap:10px;white-space:nowrap;font-size:clamp(38px,3.05vw,56px);line-height:.84;letter-spacing:-.05em;transform-origin:left top;transform:rotate(-90deg) translateX(-100%);justify-content:flex-start}
  .page-title-rail .rail-line{writing-mode:horizontal-tb;text-orientation:mixed;display:inline-block}
  .page-title-rail .rail-accent{margin-left:2px}
}

/* Version 1.8.7: einspaltige aufrechte Buchstabenrail, oben gestartet und naeher am Player */
@media(min-width:1150px){
  .player-layout{padding-left:284px}
  .page-rail-shell{grid-template-columns:58px minmax(0,1fr);gap:8px;padding-left:0!important}
  .page-rail-shell.narrow-shell{grid-template-columns:58px minmax(0,700px)}
  .page-title-rail{top:84px;height:auto;min-height:0;align-items:flex-start;justify-content:flex-start;padding:0;border-right:0;overflow:visible}
  .page-title-rail:after{display:none}
  .page-title-rail h1{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;font-family:Arial Black,Arial,sans-serif;font-size:clamp(38px,3.05vw,56px);font-weight:900;line-height:.96;letter-spacing:0;text-transform:uppercase;white-space:nowrap;transform:none}
  .page-title-rail .rail-line{writing-mode:vertical-rl;text-orientation:upright;display:block;line-height:.96;color:var(--text);text-shadow:0 3px 20px rgba(0,0,0,.72)}
  .page-title-rail .rail-accent{color:var(--accent);text-shadow:0 0 22px rgba(126,255,59,.13)}
}

/* Version 1.8.8: Seitenueberschrift oben im Inhaltskopf, breiterer Player, keine linke Rail mehr */
@media(min-width:1150px){
  .persistent-player{width:288px;padding:18px 16px 16px;gap:13px}
  .player-art{height:160px;flex-basis:160px}
  .player-layout{padding-left:312px}
  .player-layout .topbar{max-width:1220px}

  .page-rail-shell,.page-rail-shell.narrow-shell{max-width:1450px!important;display:block;padding-top:18px!important}
  .page-title-rail{display:none!important}
  .page-content{min-width:0}

  .page-context{display:grid;grid-template-columns:minmax(280px,1fr) minmax(300px,620px) auto;align-items:start;column-gap:22px;row-gap:10px;min-height:92px;margin:0 0 18px;padding:10px 0 16px;border-bottom:1px solid rgba(16,55,92,.66);position:relative}
  .page-context:after{content:"";position:absolute;right:0;bottom:-1px;width:28%;border-bottom:2px solid var(--accent);box-shadow:0 0 14px rgba(126,255,59,.28)}
  .page-context .page-context-copy{min-width:0}
  .page-context .muted{max-width:520px;margin:8px 0 0;font-size:14px;line-height:1.45}
  .page-heading-block{align-self:start;justify-self:stretch;display:grid;justify-items:start;align-content:start;min-height:86px;padding:12px 18px 10px;border:1px solid rgba(20,68,103,.76);background:linear-gradient(135deg,rgba(7,20,35,.84),rgba(4,10,18,.66));box-shadow:inset 0 0 24px rgba(0,0,0,.18)}
  .page-heading-line{display:block;font-family:Arial Black,Arial,sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:-.045em;line-height:.86;font-size:clamp(30px,2.45vw,46px);color:var(--text);text-shadow:0 3px 20px rgba(0,0,0,.6)}
  .page-heading-line.accent{color:var(--accent);text-shadow:0 0 22px rgba(126,255,59,.13)}
  .dashboard-context .dashboard-online,.chat-context .chat-live,.page-context .primary,.page-context .upload-label{align-self:start;justify-self:end;flex:0 0 auto}
  .account-context{grid-template-columns:minmax(260px,1fr) minmax(280px,560px)}
  .account-context .page-heading-block{justify-self:start}
}

@media(max-width:1149px){
  .page-title-rail{display:none!important}
  .page-context{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 18px;padding:0 0 14px;border-bottom:1px solid rgba(16,55,92,.55)}
  .page-heading-block{display:block;min-width:0;padding:0;background:none;border:0;box-shadow:none}
  .page-heading-line{display:block;font-family:Arial Black,Arial,sans-serif;font-size:clamp(26px,6vw,42px);line-height:.9;letter-spacing:-.05em;text-transform:uppercase}
  .page-heading-line.accent{color:var(--accent)}
}
@media(max-width:760px){
  .page-context{align-items:stretch;flex-direction:column}
}

/* Version 1.8.9: einklappbare Upload-Konsole auf der Musikseite */
.music-upload-disclosure{margin:0 0 18px;border:1px solid rgba(22,74,108,.78);background:linear-gradient(180deg,rgba(5,17,28,.86),rgba(3,10,18,.72));box-shadow:inset 0 0 24px rgba(0,0,0,.18)}
.music-upload-summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:58px;padding:10px 16px;cursor:pointer;user-select:none;border-left:2px solid rgba(126,255,59,.48);transition:border-color .16s,background .16s,box-shadow .16s}
.music-upload-summary::-webkit-details-marker{display:none}.music-upload-summary::marker{content:""}
.music-upload-summary>span:first-child{display:grid;gap:2px}.music-upload-summary small{color:var(--accent);font:700 8px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.16em}.music-upload-summary strong{color:var(--text);font:800 13px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em}
.music-upload-summary-action{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(126,255,59,.62);color:var(--accent);font:700 22px/1 ui-monospace,monospace;background:rgba(126,255,59,.04);transition:transform .18s,background .18s,box-shadow .18s}
.music-upload-summary:hover,.music-upload-disclosure[open]>.music-upload-summary{border-left-color:var(--accent);background:rgba(126,255,59,.035);box-shadow:inset 0 0 18px rgba(126,255,59,.025)}
.music-upload-summary:hover .music-upload-summary-action{box-shadow:0 0 14px rgba(126,255,59,.15)}
.music-upload-disclosure[open] .music-upload-summary-action{transform:rotate(45deg);background:rgba(126,255,59,.10)}
.music-upload-disclosure-body{padding:0 0 0}
.music-upload-disclosure[open] .music-upload-disclosure-body{border-top:1px solid rgba(22,74,108,.64)}
.music-upload-disclosure .music-command-center{margin:0!important}
.music-upload-disclosure .music-upload-card,.music-upload-disclosure .music-storage{border-top:0}
.music-upload-disclosure:not([open])+.music-library-head{margin-top:4px}
@media(max-width:760px){.music-upload-summary{min-height:54px;padding:9px 12px}.music-upload-summary strong{font-size:12px}.music-upload-summary-action{width:31px;height:31px}}

/* Version 1.9.0: Link-Terminal und sichere Dateivorschau */
.tile-links .app-tile-icon{border-color:#7eff3b;color:#7eff3b}.tile-links:after{display:none}

.link-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:14px;align-items:center;margin:4px 0 20px}.link-scope{display:flex;gap:6px}.link-scope button{border:1px solid rgba(126,255,59,.24);border-radius:2px;background:rgba(4,14,23,.76);color:#8ea5b7;padding:9px 12px;font:700 10px ui-monospace,monospace;cursor:pointer}.link-scope button.active,.link-scope button:hover{border-color:var(--accent);color:var(--accent);box-shadow:0 0 12px rgba(126,255,59,.1)}
.link-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.link-card{min-width:0;border:1px solid #16496d;background:linear-gradient(160deg,rgba(7,22,36,.96),rgba(3,10,17,.98));box-shadow:0 14px 34px rgba(0,0,0,.2);clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px));overflow:hidden}.link-card:hover{border-color:rgba(126,255,59,.58);box-shadow:0 18px 44px rgba(0,0,0,.3),0 0 20px rgba(126,255,59,.06)}
.link-preview{border-bottom:1px solid #143e5e;background:#06111c}.link-terminal-bar{height:28px;display:flex;align-items:center;gap:8px;padding:0 10px;border-bottom:1px solid #123a58;color:#63839a;font:9px ui-monospace,monospace;letter-spacing:.08em}.link-terminal-bar>span{color:var(--accent)}.link-terminal-bar code{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-terminal-bar b{color:var(--accent)}.link-preview-body{height:92px;display:flex;align-items:center;gap:14px;padding:15px;background:radial-gradient(circle at 15% 50%,rgba(126,255,59,.07),transparent 34%),linear-gradient(135deg,rgba(12,40,58,.75),rgba(4,12,20,.88))}.link-favicon,.link-favicon-fallback{width:52px;height:52px;flex:0 0 52px;border:1px solid rgba(126,255,59,.5);background:#091826}.link-favicon{object-fit:contain;padding:8px}.link-favicon-fallback{display:grid;place-items:center;color:var(--accent);font:900 24px Arial Black,Arial,sans-serif}.link-preview-body div{min-width:0}.link-preview-body strong,.link-preview-body span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-preview-body strong{font:800 18px Arial,sans-serif}.link-preview-body div>span{color:#6f899e;font:10px ui-monospace,monospace;margin-top:4px}
.link-card-meta{padding:13px 15px 8px}.link-card-flags{display:flex;gap:6px;flex-wrap:wrap}.link-private,.link-shared,.link-category{border:1px solid #214d69;padding:3px 6px;font:700 8px ui-monospace,monospace;letter-spacing:.08em}.link-private{color:#d5a3ff;border-color:#744993}.link-shared{color:var(--accent);border-color:rgba(126,255,59,.42)}.link-category{color:#78c9ff}.link-card-meta p{min-height:42px;margin:9px 0 5px;color:#9dafbd;font-size:12px}.link-card-meta small{color:#536d80;font:9px ui-monospace,monospace}.link-card-actions{display:flex;align-items:center;gap:7px;padding:10px 15px 15px}.link-open{flex:1;border:1px solid rgba(126,255,59,.45);background:rgba(126,255,59,.055);color:var(--accent);text-decoration:none;text-align:center;padding:9px 10px;font:700 10px ui-monospace,monospace;letter-spacing:.08em}.link-open:hover{background:rgba(126,255,59,.12);box-shadow:0 0 13px rgba(126,255,59,.1)}.link-card-actions button{border:1px solid #224b67!important;padding:8px!important}.link-security-note{margin:0;color:#668195;font:10px/1.5 ui-monospace,monospace;border-left:2px solid var(--accent);padding-left:10px}

.file-preview-table th:first-child,.file-preview-table td:first-child{width:88px}.file-thumb{width:68px;height:52px;display:grid;place-items:center;padding:0;border:1px solid #1c5275;background:#06111c;color:#85a7bd;cursor:pointer;overflow:hidden}.file-thumb:hover{border-color:var(--accent);box-shadow:0 0 12px rgba(126,255,59,.09)}.file-thumb img{width:100%;height:100%;object-fit:cover}.file-icon-preview span{font:800 11px ui-monospace,monospace;color:var(--accent);letter-spacing:.05em}.file-name-button{display:block;max-width:420px;padding:0;border:0;background:transparent;color:#dce7ee;text-align:left;font:700 13px/1.35 ui-sans-serif,system-ui;cursor:pointer}.file-name-button:hover{color:var(--accent)}
.file-upload-picker{border:1px dashed #25618a;background:rgba(8,27,43,.66);padding:16px;cursor:pointer}.file-upload-picker input{margin-top:8px;width:100%}.file-selection{max-height:100px;overflow:auto;border:1px solid #163f5e;background:#07111c;padding:10px;color:#708a9e;font:10px ui-monospace,monospace}.file-selection strong,.file-selection span{display:block}.file-selection span{margin-top:5px;white-space:normal;word-break:break-word}
.file-preview-dialog{width:min(1180px,calc(100vw - 40px));max-width:none;height:min(820px,calc(100vh - 40px));border-radius:0}.file-preview-shell{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#040c14}.file-preview-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 16px;border-bottom:1px solid #1b4e70;background:#071521}.file-preview-head h2{margin:3px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-preview-back{border:1px solid rgba(126,255,59,.32)!important;color:var(--accent)!important;padding:8px 12px!important}.file-preview-body{min-height:0;display:grid;place-items:center;overflow:auto;padding:18px;background:radial-gradient(circle at center,rgba(18,52,72,.5),rgba(2,7,12,.96))}.file-preview-image{display:block;max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 20px 60px rgba(0,0,0,.45)}.file-preview-pdf{width:100%;height:100%;min-height:520px;border:1px solid #174463;background:#fff}.file-preview-generic{width:min(560px,100%);display:grid;justify-items:center;gap:14px;border:1px solid #174a6d;background:#071521;padding:50px 28px;text-align:center}.file-preview-generic>span{width:120px;height:120px;display:grid;place-items:center;border:1px solid var(--accent);color:var(--accent);font:900 24px ui-monospace,monospace;box-shadow:inset 0 0 28px rgba(126,255,59,.06)}.file-preview-generic strong{font-size:20px}.file-preview-generic p{color:#7890a1}.file-preview-footer{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:10px 16px;border-top:1px solid #174463;color:#71889a;font:9px ui-monospace,monospace}

@media(max-width:980px){.link-toolbar{grid-template-columns:1fr}.link-scope{flex-wrap:wrap}.file-preview-head{grid-template-columns:auto minmax(0,1fr)}.file-preview-head .action-link{grid-column:1/-1}.file-preview-footer{align-items:flex-start;flex-direction:column}.file-preview-pdf{min-height:420px}}
@media(max-width:760px){.link-grid{grid-template-columns:1fr}.file-preview-table th:nth-child(4),.file-preview-table td:nth-child(4),.file-preview-table th:nth-child(5),.file-preview-table td:nth-child(5){display:none}.file-thumb{width:56px;height:46px}.file-preview-dialog{width:calc(100vw - 18px);height:calc(100vh - 18px)}.file-preview-head{padding:10px}.file-preview-body{padding:8px}}
.link-card-main{display:block;color:inherit;text-decoration:none}.link-card-main:focus-visible{outline:1px solid var(--accent);outline-offset:-2px}.link-card-main:hover .link-preview-body strong{color:var(--accent)}

/* Version 1.9.2: freie Header-Titel, Playlisten im Player und Linkkarten-Feinschliff */
@media(min-width:1150px){
  .page-heading-block{min-height:0!important;padding:2px 0!important;border:0!important;background:transparent!important;box-shadow:none!important}
  .page-heading-line{filter:none}
}

.player-playlists{display:grid;gap:5px;border-top:1px solid var(--border);padding-top:8px}
.player-playlist-row{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:5px}
.player-playlist-row select{width:100%;min-width:0;height:30px;padding:0 6px;border:1px solid #1c4f73;border-radius:0;background:#06111c;color:#a9bfd2;font:9px ui-monospace,SFMono-Regular,Consolas,monospace;text-overflow:ellipsis}
.player-playlist-row select:focus,.player-playlist-row select:hover{border-color:var(--accent);outline:none;box-shadow:0 0 10px rgba(126,255,59,.08)}
.player-playlist-row button{height:30px!important;padding:0!important}
.player-playlist-actions{display:grid;grid-template-columns:1fr 1.25fr 1.35fr 30px;gap:4px}
.player-playlist-actions button{height:27px!important;padding:0 4px!important;font:8px ui-monospace,SFMono-Regular,Consolas,monospace!important;letter-spacing:.05em}
.player-playlist-actions .danger-mini:hover{border-color:#ff665c!important;color:#ff665c!important;box-shadow:0 0 10px rgba(255,102,92,.15)}
@media(max-width:1149px){.player-playlists{display:none}}

.link-card{position:relative;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.link-card:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 0 48%,rgba(126,255,59,.025) 50%,transparent 52%);transform:translateX(-120%);transition:transform .55s ease}
.link-card:hover{transform:translateY(-3px)}
.link-card:hover:before{transform:translateX(120%)}
.link-terminal-bar{background:linear-gradient(90deg,rgba(126,255,59,.035),transparent 38%)}
.link-preview-body{height:100px;gap:16px;padding:14px 16px;background:radial-gradient(circle at 13% 50%,rgba(126,255,59,.11),transparent 30%),linear-gradient(135deg,rgba(9,34,52,.9),rgba(3,10,18,.92));position:relative;overflow:hidden}
.link-preview-body:after{content:"";position:absolute;right:-12px;top:0;width:44%;height:100%;opacity:.24;background:repeating-linear-gradient(90deg,transparent 0 13px,rgba(78,167,222,.12) 14px 15px)}
.link-sigil{width:62px;height:62px;flex:0 0 62px;position:relative;display:grid;place-items:center;border:1px solid rgba(126,255,59,.65);background:linear-gradient(145deg,rgba(126,255,59,.08),rgba(5,18,28,.9));box-shadow:inset 0 0 18px rgba(126,255,59,.05),0 0 18px rgba(126,255,59,.05);clip-path:polygon(0 0,calc(100% - 11px) 0,100% 11px,100% 100%,11px 100%,0 calc(100% - 11px))}
.link-sigil>strong{color:var(--accent);font:900 30px/.9 Arial Black,Arial,sans-serif;text-shadow:0 0 14px rgba(126,255,59,.25);z-index:2}
.link-sigil>i{position:absolute;left:5px;bottom:4px;color:#52758c;font:7px ui-monospace,monospace;font-style:normal;letter-spacing:.08em}
.link-sigil-scan{position:absolute;left:5px;right:5px;top:9px;height:1px;background:rgba(126,255,59,.55);box-shadow:0 0 6px rgba(126,255,59,.45)}
.link-site-icon{position:absolute;right:4px;bottom:4px;width:16px;height:16px;object-fit:contain;padding:1px;background:#06111c;border:1px solid #23516d;z-index:3}
.link-preview-copy{min-width:0;position:relative;z-index:2}
.link-preview-copy>strong,.link-preview-copy>span,.link-preview-copy>small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.link-preview-copy>strong{font:800 19px Arial,sans-serif}
.link-preview-copy>span{color:#7893a6;font:10px ui-monospace,monospace;margin-top:4px}
.link-preview-copy>small{margin-top:10px;color:#4f7187;font:8px ui-monospace,monospace;letter-spacing:.06em}
.link-card:hover .link-sigil{border-color:var(--accent);box-shadow:inset 0 0 24px rgba(126,255,59,.08),0 0 24px rgba(126,255,59,.09)}
.link-card:hover .link-preview-copy>strong{color:var(--accent)}

/* Version 1.9.3: echter Audio-Visualizer im Cover-Bereich des Players */
.player-art{isolation:isolate;overflow:hidden}
.player-art:before{z-index:2}
.player-art>span{position:relative;z-index:4;text-shadow:0 0 18px rgba(255,255,255,.34)}
.player-visualizer{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;opacity:.9}
.player-visualizer-label{position:absolute;left:9px;bottom:7px;z-index:5;margin:0;color:rgba(126,255,59,.58);font:7px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.16em;font-style:normal;text-transform:uppercase}
.persistent-player.visualizer-live .player-art{box-shadow:inset 0 0 34px rgba(126,255,59,.08),0 0 22px rgba(126,255,59,.06)}
.persistent-player.visualizer-live .player-art>span{animation:player-note-pulse 1.8s ease-in-out infinite}
.persistent-player.visualizer-fallback .player-visualizer{opacity:.35;animation:player-visualizer-fallback 1.2s ease-in-out infinite alternate}
@keyframes player-note-pulse{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.045);filter:brightness(1.18)}}
@keyframes player-visualizer-fallback{from{transform:scaleY(.92);opacity:.22}to{transform:scaleY(1);opacity:.46}}
@media(max-width:1149px){.player-visualizer-label{display:none}}
@media(prefers-reduced-motion:reduce){.persistent-player.visualizer-live .player-art>span,.persistent-player.visualizer-fallback .player-visualizer{animation:none}}

/* Version 1.9.4: ausfahrbare Warteschlangen-Konsole rechts vom Player */
@media(min-width:1150px){
  .player-queue-toggle{flex:0 0 auto;min-height:49px;width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:10px;padding:8px 10px;border:1px solid #1c4f73;background:linear-gradient(135deg,rgba(7,20,34,.95),rgba(4,11,19,.98));color:#a9bfd2;text-align:left;cursor:pointer;transition:border-color .18s,box-shadow .18s,background .18s}
  .player-queue-toggle:hover,.player-queue-toggle[aria-expanded="true"]{border-color:var(--accent);background:rgba(126,255,59,.055);box-shadow:inset 0 0 18px rgba(126,255,59,.04),0 0 16px rgba(126,255,59,.08)}
  .player-queue-toggle span{display:grid;gap:2px;min-width:0}.player-queue-toggle strong{font:9px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.11em;color:var(--text)}.player-queue-toggle small{font:7px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;color:#668195}.player-queue-toggle b{font:700 13px ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--accent)}.player-queue-toggle i{font:22px/1 ui-monospace,monospace;font-style:normal;color:var(--accent);transition:transform .2s}.player-queue-toggle[aria-expanded="true"] i{transform:rotate(180deg)}
  .player-queue-drawer{position:fixed;z-index:59;left:300px;top:12px;bottom:12px;width:min(430px,calc(100vw - 338px));display:flex;flex-direction:column;gap:10px;padding:16px;background:linear-gradient(165deg,rgba(5,17,29,.995),rgba(2,8,14,.995));border:1px solid #21618f;border-left-color:var(--accent);box-shadow:20px 0 56px rgba(0,0,0,.5),inset 0 0 36px rgba(126,255,59,.025);transform:translateX(calc(-100% - 24px));opacity:0;visibility:hidden;pointer-events:none;transition:transform .24s ease,opacity .18s ease,visibility .24s;overflow:hidden}
  .player-queue-drawer.is-open{transform:translateX(0);opacity:1;visibility:visible;pointer-events:auto}
  .player-queue-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.player-queue-drawer-head>div:first-child{display:grid;gap:4px}.player-queue-drawer-head strong{font:700 12px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em}.player-queue-drawer-actions{display:flex;gap:6px}.player-queue-drawer-actions button{height:30px!important;padding:0 9px!important;font:8px ui-monospace,SFMono-Regular,Consolas,monospace!important;white-space:nowrap}.player-queue-drawer-actions button:disabled{opacity:.35;cursor:not-allowed}
  .player-drawer-drop-hint{margin:0;padding:7px 5px}
  .player-queue-drawer-list{display:flex!important;min-height:0;flex:1;border-top:0;padding-top:0;overflow:hidden}.player-queue-drawer-list .player-queue-head{padding:2px 0 7px;margin:0}.player-queue-drawer-list #player-queue-list{flex:1;min-height:0;padding-right:10px}
  .player-queue-drawer-list .player-queue li{min-height:48px;border-bottom:1px solid rgba(16,55,92,.36)}.player-queue-drawer-list .player-queue li .player-queue-play{padding:9px 6px}.player-queue-drawer-list .player-queue li strong{font-size:12px}.player-queue-drawer-list .player-queue li small{font-size:9px}.player-queue-drawer-list .player-queue li.active{background:linear-gradient(90deg,rgba(126,255,59,.10),rgba(126,255,59,.02));box-shadow:inset 3px 0 0 var(--accent)}
}
@media(max-width:1149px){.player-queue-toggle{display:none}.player-queue-drawer{display:none!important}}

/* Version 1.9.5: Visualizer-Watchdog + Vollbild-/Screensaver-Modus */
.player-visualizer-fullscreen{position:absolute;right:7px;top:7px;z-index:7;width:29px;height:29px;display:grid;place-items:center;padding:0;border:1px solid rgba(126,255,59,.5);background:rgba(3,11,18,.74);color:var(--accent);font:16px/1 ui-monospace,monospace;cursor:pointer;opacity:.72;transition:opacity .16s,border-color .16s,box-shadow .16s,background .16s}
.player-visualizer-fullscreen:hover,.player-visualizer-fullscreen:focus-visible{opacity:1;border-color:var(--accent);background:rgba(126,255,59,.08);box-shadow:0 0 18px rgba(126,255,59,.16);outline:none}
.player-visualizer-stage[hidden]{display:none!important}
.player-visualizer-stage{position:fixed;z-index:200;inset:0;display:block;overflow:hidden;background:radial-gradient(circle at 50% 54%,rgba(18,58,89,.38),transparent 48%),linear-gradient(160deg,#04101b 0%,#02080e 52%,#061421 100%);color:var(--text)}
.player-visualizer-stage:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(126,255,59,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(126,255,59,.022) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),rgba(0,0,0,.18));pointer-events:none}
.player-visualizer-stage-grid{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 0 74%,rgba(126,255,59,.035) 74% 74.2%,transparent 74.2%),radial-gradient(circle at 50% 118%,transparent 0 34%,rgba(126,255,59,.06) 34.2% 34.5%,transparent 34.7% 45%,rgba(126,255,59,.035) 45.2% 45.5%,transparent 45.7%)}
.player-visualizer-stage-canvas{position:absolute;inset:13% 5% 8%;width:90%;height:79%;z-index:2}
.player-visualizer-stage-head{position:absolute;z-index:5;left:34px;right:34px;top:28px;display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:14px;border-bottom:1px solid rgba(33,97,143,.62)}
.player-visualizer-stage-head>div{display:grid;gap:5px}.player-visualizer-stage-head strong{font:700 13px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em}.player-visualizer-stage-head button{height:34px!important;padding:0 13px!important;font:9px ui-monospace,SFMono-Regular,Consolas,monospace!important}
.player-visualizer-stage-track{position:absolute;z-index:5;left:42px;bottom:36px;display:grid;gap:4px;max-width:min(62vw,940px)}
.player-visualizer-stage-track>strong{font:900 clamp(28px,4vw,62px)/.96 Arial Black,Arial,sans-serif;letter-spacing:-.045em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 0 28px rgba(126,255,59,.08)}
.player-visualizer-stage-track>span:last-child{color:#7f9bad;font:10px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.player-visualizer-stage-time{position:absolute;z-index:5;right:42px;bottom:38px;display:grid;justify-items:end;gap:5px}.player-visualizer-stage-time strong{font:900 clamp(34px,5vw,72px)/.9 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--accent);text-shadow:0 0 26px rgba(126,255,59,.18)}.player-visualizer-stage-time span{font:9px ui-monospace,SFMono-Regular,Consolas,monospace;color:#718a9c;letter-spacing:.12em}
.player-visualizer-stage-hint{position:absolute;z-index:5;right:42px;top:86px;color:#49697f;font:8px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.14em}
body.visualizer-stage-open{overflow:hidden}
@media(max-width:1149px){.player-visualizer-fullscreen{display:none}.player-visualizer-stage{display:none!important}}
@media(prefers-reduced-motion:reduce){.player-visualizer-stage *{animation:none!important;transition:none!important}}

/* Version 2.0.0: GAME CENTER – additive Erweiterung im bestehenden Netzwerk-Zentrale-Stil */
.tile-games{background-image:linear-gradient(145deg,rgba(4,18,31,.55),rgba(4,11,19,.84)),repeating-linear-gradient(90deg,rgba(126,255,59,.035) 0 1px,transparent 1px 42px),repeating-linear-gradient(0deg,rgba(67,217,255,.025) 0 1px,transparent 1px 42px)}
.tile-games .app-tile-icon{border-color:#7eff3b;color:#7eff3b;box-shadow:inset 0 0 30px rgba(126,255,59,.08),0 0 18px rgba(126,255,59,.07)}
.game-center-shell{max-width:1450px!important;padding-top:18px!important}
.game-center-context{grid-template-columns:minmax(280px,1fr) minmax(300px,620px)!important}
.game-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 22px}
.game-choice{position:relative;min-height:210px;display:grid;justify-items:start;align-content:end;gap:7px;padding:24px;text-align:left;color:var(--text);background:linear-gradient(145deg,rgba(8,28,46,.96),rgba(3,10,17,.96));border:1px solid #174a72;clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px));cursor:pointer;transition:.18s}
.game-choice:before{content:"";position:absolute;inset:14px;border:1px solid rgba(126,255,59,.08);pointer-events:none}.game-choice:hover,.game-choice:focus-visible{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 18px 48px rgba(0,0,0,.36),0 0 24px rgba(126,255,59,.08);outline:none}.game-choice-symbol{position:absolute;left:28px;right:auto;top:28px;display:grid;place-items:center;width:68px;height:68px;border:1px solid var(--accent);color:var(--accent);font:900 27px ui-monospace,monospace;box-shadow:inset 0 0 26px rgba(126,255,59,.06)}.game-choice small{color:var(--accent);font:9px ui-monospace,monospace;letter-spacing:.15em}.game-choice strong{font:900 clamp(28px,2.5vw,40px)/.95 Arial Black,Arial,sans-serif;letter-spacing:-.05em}.game-choice em{color:var(--muted);font-style:normal;font-size:12px}.game-center-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.game-panel{padding:20px;background:linear-gradient(145deg,rgba(6,21,35,.94),rgba(3,10,17,.94));border:1px solid #174a72}.game-panel .section-head{margin-bottom:14px}.game-list{display:grid;gap:10px}.game-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 15px;border:1px solid rgba(24,76,113,.8);background:rgba(6,18,30,.72)}.game-row>div:first-child{display:grid;gap:5px}.game-row small{color:var(--accent);font:9px ui-monospace,monospace;letter-spacing:.09em}.game-row strong{font-size:14px}.game-row>div:last-child{display:flex;gap:7px}.game-turn{display:inline-block;width:max-content;color:var(--muted);font:9px ui-monospace,monospace;letter-spacing:.08em}.game-turn.own{color:var(--accent);text-shadow:0 0 10px rgba(126,255,59,.25)}.game-empty{padding:18px;border:1px dashed rgba(42,92,128,.55);color:var(--muted);font-size:12px}.game-history-panel{margin-top:18px}.game-history{display:grid}.game-history-row{display:grid;grid-template-columns:130px 1fr 180px;gap:14px;padding:10px 4px;border-bottom:1px solid rgba(24,76,113,.45);font-size:12px}.game-history-row span{color:var(--accent);font-family:ui-monospace,monospace}.game-history-row em{text-align:right;color:var(--muted);font-style:normal;font-family:ui-monospace,monospace}

/* Eigenes Spiel-Tab: kein Redesign der Hauptseite, sondern eigener Inhaltsmodus im gleichen Stil. */
.game-window{min-height:100vh;overflow-x:hidden;background:#050b12;color:var(--text)}.game-topbar{position:relative;z-index:20;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 18px;border-bottom:1px solid #174a72;background:rgba(4,12,21,.94);backdrop-filter:blur(12px)}.game-top-status{display:flex;align-items:center;gap:8px}.game-top-status>span{color:var(--accent);font:9px ui-monospace,monospace;letter-spacing:.1em}.game-top-status .subtle{opacity:.68}.game-stage-shell{position:relative;z-index:2;width:min(1180px,calc(100% - 32px));margin:0 auto;padding:28px 0 24px}.game-stage-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid rgba(24,76,113,.72)}.game-stage-head h1{margin:4px 0 0;font:900 clamp(38px,6vw,72px)/.9 Arial Black,Arial,sans-serif;text-transform:uppercase;letter-spacing:-.055em}.game-player-strip{display:flex;align-items:center;gap:12px;color:var(--text);font:800 13px ui-monospace,monospace}.game-player-strip b{color:var(--accent);font-size:10px}.game-board-frame{position:relative;display:grid;place-items:center;min-height:610px;padding:28px;border:1px solid #174a72;background:radial-gradient(circle at 50% 45%,rgba(12,50,76,.36),transparent 55%),linear-gradient(145deg,rgba(5,18,31,.95),rgba(2,8,14,.98));box-shadow:inset 0 0 80px rgba(0,0,0,.35)}.game-board{position:relative;width:min(72vh,680px);aspect-ratio:1}.game-controls{display:flex;align-items:center;justify-content:space-between;padding:13px 0}.game-controls>div{display:flex;gap:8px;align-items:center}.game-live-dot{color:var(--accent);margin-right:6px}.game-controls strong{font:9px ui-monospace,monospace;letter-spacing:.1em}.game-chat-toggle span{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--accent);color:#04101a;margin-left:4px}.game-result{position:absolute;z-index:10;inset:0;display:grid;place-items:center;align-content:center;gap:12px;background:rgba(2,8,14,.78);backdrop-filter:blur(7px);text-align:center}.game-result strong{font:900 clamp(34px,6vw,72px)/.9 Arial Black,Arial,sans-serif;color:var(--accent)}.game-result span{color:var(--muted)}
/* 4 gewinnt */
.connect4-board{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;width:min(82vh,760px);aspect-ratio:7/6;padding:14px;border:1px solid #1d5b87;background:rgba(5,25,42,.9)}.connect4-column{display:grid;grid-template-rows:repeat(6,1fr);gap:6px;padding:0;border:0;background:transparent;cursor:pointer}.connect4-column:hover:not(:disabled) .connect4-cell{border-color:rgba(126,255,59,.45)}.connect4-cell{display:block;aspect-ratio:1;border-radius:50%;border:1px solid #25658f;background:#020810;box-shadow:inset 0 0 18px rgba(0,0,0,.8)}.connect4-cell.p1{background:radial-gradient(circle at 36% 32%,#d9ffac 0 5%,#7eff3b 28%,#22580d 72%);box-shadow:0 0 15px rgba(126,255,59,.35)}.connect4-cell.p2{background:radial-gradient(circle at 36% 32%,#d8faff 0 5%,#43d9ff 28%,#0e4c67 72%);box-shadow:0 0 15px rgba(67,217,255,.35)}
/* Mühle */
.mill-board{width:min(70vh,650px);aspect-ratio:1}.mill-lines{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#276589;stroke-width:.8;filter:drop-shadow(0 0 5px rgba(67,217,255,.1))}.mill-node{position:absolute;width:34px;height:34px;transform:translate(-50%,-50%);border:2px solid #36789e;border-radius:50%;background:#06111c;cursor:pointer;box-shadow:0 0 0 5px rgba(5,17,29,.95)}.mill-node:hover:not(:disabled){border-color:var(--accent);box-shadow:0 0 0 5px rgba(5,17,29,.95),0 0 18px rgba(126,255,59,.18)}.mill-node.p1{background:#7eff3b;border-color:#baff91;box-shadow:0 0 0 5px rgba(5,17,29,.95),0 0 18px rgba(126,255,59,.42)}.mill-node.p2{background:#43d9ff;border-color:#c8f7ff;box-shadow:0 0 0 5px rgba(5,17,29,.95),0 0 18px rgba(67,217,255,.4)}.mill-node.selected{outline:3px solid #fff;outline-offset:5px}
/* Dame */
.checkers-board{display:grid;grid-template-columns:repeat(8,1fr);width:min(72vh,680px);border:1px solid #1d5b87;box-shadow:0 0 34px rgba(0,0,0,.35)}.checker-cell{position:relative;display:grid;place-items:center;aspect-ratio:1;border:0;padding:0}.checker-cell.light{background:#0b1b29}.checker-cell.dark{background:#10314a;cursor:pointer}.checker-cell.dark:hover:not(:disabled){box-shadow:inset 0 0 0 2px rgba(126,255,59,.28)}.checker-cell.selected{box-shadow:inset 0 0 0 3px var(--accent)!important}.checker-piece{display:grid;place-items:center;width:68%;height:68%;border-radius:50%;font-size:18px}.checker-piece.p1{background:radial-gradient(circle at 35% 30%,#d8ffa9,#7eff3b 35%,#214f12 76%);box-shadow:0 0 16px rgba(126,255,59,.34);color:#07120a}.checker-piece.p2{background:radial-gradient(circle at 35% 30%,#d8faff,#43d9ff 35%,#0d526c 76%);box-shadow:0 0 16px rgba(67,217,255,.34);color:#061017}.checker-piece.king{border:2px solid #fff;box-shadow:0 0 18px rgba(255,255,255,.25)}
/* Partie-Chat als ausfahrbare Konsole */
.game-chat-drawer{position:fixed;z-index:70;top:0;right:0;bottom:0;width:min(390px,92vw);display:flex;flex-direction:column;transform:translateX(105%);transition:transform .22s ease;background:linear-gradient(165deg,rgba(6,21,35,.995),rgba(2,8,14,.995));border-left:1px solid #21618f;box-shadow:-22px 0 60px rgba(0,0,0,.52)}.game-chat-drawer.open{transform:translateX(0)}.game-chat-drawer>header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid #174a72}.game-chat-drawer>header>div{display:grid}.game-chat-log{flex:1;overflow:auto;padding:14px;scrollbar-width:thin}.game-chat-message{padding:10px 11px;margin-bottom:9px;border-left:2px solid #25618b;background:rgba(8,28,45,.65)}.game-chat-message>div{display:flex;justify-content:space-between;gap:10px}.game-chat-message strong{color:var(--accent);font:10px ui-monospace,monospace}.game-chat-message time{color:#658198;font:9px ui-monospace,monospace}.game-chat-message p{margin:6px 0 0;font-size:13px;line-height:1.45}.game-chat-form{display:grid;grid-template-columns:1fr auto;gap:7px;padding:14px;border-top:1px solid #174a72}.game-chat-form input{min-width:0}
@media(max-width:1050px){.game-choice-grid{grid-template-columns:1fr}.game-center-columns{grid-template-columns:1fr}.game-stage-head{align-items:flex-start;flex-direction:column}.game-board-frame{min-height:0;padding:18px}.game-board{width:min(86vw,640px)}.connect4-board{width:min(90vw,700px)}}
@media(max-width:700px){.game-history-row{grid-template-columns:1fr}.game-history-row em{text-align:left}.game-topbar{align-items:flex-start;flex-direction:column}.game-top-status{flex-wrap:wrap}.game-player-strip{flex-wrap:wrap}.game-stage-shell{width:min(100% - 18px,1180px)}.game-board-frame{padding:10px}.mill-node{width:26px;height:26px}.game-controls{align-items:flex-start;flex-direction:column;gap:10px}}

/* 2.0.3 – Game-Board-/Bedienungs-Hotfix. Gesamtstil bleibt unverändert. */
.game-board-frame{min-height:640px;padding:34px 28px 28px;background:radial-gradient(circle at 50% 42%,rgba(13,64,94,.48),transparent 57%),linear-gradient(145deg,rgba(5,18,31,.97),rgba(2,8,14,.99));border-color:#24648f;box-shadow:inset 0 0 100px rgba(0,0,0,.38),0 0 28px rgba(67,217,255,.035)}
.game-board-hint{position:absolute;left:18px;top:13px;z-index:4;color:var(--accent);font:700 9px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 0 10px rgba(126,255,59,.2)}
.game-board.is-busy{pointer-events:none;opacity:.78}
.game-top-status{min-height:36px}.game-top-status .game-close{border:1px solid rgba(56,105,139,.58)!important;padding:7px 11px!important}.game-close-bottom{margin-right:4px}.game-controls .game-close-bottom{color:#8ba6ba!important}.game-controls .danger-mini{color:#a7b2be!important}.game-controls .danger-mini:hover{color:#ff665c!important}
.player-chip{display:inline-flex;align-items:center;gap:7px}.player-chip:before{content:"";width:9px;height:9px;border-radius:50%;box-shadow:0 0 10px currentColor}.player-chip.p1{color:#7eff3b}.player-chip.p2{color:#43d9ff}

/* 4 Gewinnt: klar sichtbares 7x6-Terminalboard und komplette klickbare Spalten. */
.connect4-board{display:grid!important;grid-template-columns:repeat(7,minmax(58px,1fr))!important;gap:8px!important;width:min(88vw,820px)!important;height:auto!important;aspect-ratio:auto!important;padding:16px!important;border:2px solid #2a78aa!important;background:linear-gradient(180deg,rgba(12,49,76,.96),rgba(5,23,39,.98))!important;box-shadow:inset 0 0 0 1px rgba(67,217,255,.12),inset 0 0 54px rgba(0,0,0,.42),0 0 28px rgba(67,217,255,.10)}
.connect4-column{min-width:0;display:grid!important;grid-template-rows:32px auto!important;gap:7px!important;padding:5px!important;border:1px solid rgba(67,217,255,.12)!important;background:rgba(3,13,23,.30)!important;cursor:pointer!important;transition:background .14s,border-color .14s,box-shadow .14s,transform .14s}
.connect4-column:not(:disabled):hover,.connect4-column:not(:disabled):focus-visible{outline:none!important;transform:translateY(-2px);border-color:var(--accent)!important;background:rgba(126,255,59,.07)!important;box-shadow:0 0 18px rgba(126,255,59,.12)}
.connect4-column:disabled{cursor:not-allowed!important;opacity:.72}.connect4-column:disabled .connect4-drop{opacity:.28}
.connect4-drop{display:flex;align-items:center;justify-content:center;gap:5px;color:#6e8aa0;font:700 10px ui-monospace,monospace;transition:.14s}.connect4-drop b{color:var(--accent);font-size:14px;opacity:.45}.connect4-column:not(:disabled):hover .connect4-drop,.connect4-column:not(:disabled):focus-visible .connect4-drop{color:var(--accent)}.connect4-column:not(:disabled):hover .connect4-drop b,.connect4-column:not(:disabled):focus-visible .connect4-drop b{opacity:1;text-shadow:0 0 12px rgba(126,255,59,.55)}
.connect4-stack{display:grid;grid-template-rows:repeat(6,1fr);gap:7px}
.connect4-cell{display:block!important;width:100%;aspect-ratio:1!important;border-radius:50%;border:2px solid #286f9b!important;background:radial-gradient(circle at 48% 45%,#06131f 0 38%,#020810 70%)!important;box-shadow:inset 0 0 0 5px rgba(12,44,66,.70),inset 0 0 22px rgba(0,0,0,.82),0 0 5px rgba(67,217,255,.09)!important}
.connect4-column:not(:disabled):hover .connect4-cell{border-color:#3b94c7!important}.connect4-cell.p1{border-color:#7eff3b!important;background:radial-gradient(circle at 34% 28%,#edffd8 0 5%,#8cff52 24%,#54bd23 52%,#173c0c 83%)!important;box-shadow:inset 0 0 0 4px rgba(9,28,8,.30),0 0 17px rgba(126,255,59,.45)!important}.connect4-cell.p2{border-color:#43d9ff!important;background:radial-gradient(circle at 34% 28%,#e1fbff 0 5%,#57dcff 24%,#168fb1 52%,#09394c 83%)!important;box-shadow:inset 0 0 0 4px rgba(6,24,31,.30),0 0 17px rgba(67,217,255,.44)!important}

/* Mühle: Linien/Knoten deutlich sichtbar und auswählbare Punkte hervorgehoben. */
.mill-board{width:min(76vh,690px)!important;aspect-ratio:1;border:1px solid rgba(45,123,168,.22);background:radial-gradient(circle,rgba(18,63,91,.22),transparent 64%);box-shadow:inset 0 0 55px rgba(0,0,0,.18)}
.mill-lines{inset:4%!important;width:92%!important;height:92%!important;stroke:#4a9bcc!important;stroke-width:1.25!important;filter:drop-shadow(0 0 5px rgba(67,217,255,.28))!important}
.mill-node{width:40px!important;height:40px!important;border:2px solid #4d9aca!important;background:#071725!important;box-shadow:0 0 0 6px rgba(4,14,24,.96),inset 0 0 16px rgba(67,217,255,.07)!important;transition:.14s}
.mill-node.selectable{border-color:#7eff3b!important}.mill-node.targetable{border-color:#7eff3b!important;box-shadow:0 0 0 6px rgba(4,14,24,.96),0 0 17px rgba(126,255,59,.20)!important}.mill-node.targetable:after{content:"+";color:#7eff3b;font:700 14px ui-monospace,monospace}.mill-node.p1:after,.mill-node.p2:after{content:none}.mill-node:disabled{cursor:default}.mill-node.p1{background:#7eff3b!important;border-color:#c3ffa7!important}.mill-node.p2{background:#43d9ff!important;border-color:#cff8ff!important}.mill-node.selected{outline:3px solid #fff!important;outline-offset:6px!important}

/* Dame: Spielfeld und mögliche Auswahl/Ziele klar sichtbar. */
.checkers-board{grid-template-columns:repeat(8,minmax(52px,1fr))!important;width:min(78vh,700px)!important;border:2px solid #2a78aa!important;background:#06111b;box-shadow:inset 0 0 30px rgba(0,0,0,.28),0 0 28px rgba(67,217,255,.08)!important}
.checker-cell{min-width:0;aspect-ratio:1!important;border:1px solid rgba(14,49,72,.55)!important}.checker-cell.light{background:#081521!important}.checker-cell.dark{background:linear-gradient(145deg,#123a55,#0b2a40)!important}.checker-cell.dark:not(:disabled):hover{box-shadow:inset 0 0 0 3px rgba(126,255,59,.42)!important}.checker-cell.selectable:after{content:"";position:absolute;inset:8px;border:1px solid rgba(126,255,59,.48);pointer-events:none}.checker-cell.targetable:after{content:"+";position:absolute;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid var(--accent);color:var(--accent);background:rgba(5,18,28,.78);font:700 13px ui-monospace,monospace;box-shadow:0 0 13px rgba(126,255,59,.20)}.checker-cell.selected{box-shadow:inset 0 0 0 4px #fff!important}.checker-piece{width:70%!important;height:70%!important;border:2px solid rgba(255,255,255,.20)}

@media(max-width:900px){.connect4-board{grid-template-columns:repeat(7,minmax(38px,1fr))!important;gap:4px!important;padding:8px!important}.connect4-column{gap:4px!important;padding:2px!important}.connect4-stack{gap:4px}.connect4-drop{height:25px}.checkers-board{grid-template-columns:repeat(8,minmax(34px,1fr))!important}.mill-node{width:32px!important;height:32px!important}.game-board-frame{min-height:0!important;padding:42px 10px 14px!important}}
.tile-games{background-image:linear-gradient(145deg,rgba(4,18,31,.42),rgba(4,11,19,.78)),url('/static/tile-games.webp')!important;background-size:cover!important;background-position:center!important}

/* Version 2.0.3: Critical Fix – Ergebnis-Layer respektiert den hidden-Zustand. */
.game-result[hidden]{display:none!important;backdrop-filter:none!important;pointer-events:none!important}
.game-result:not([hidden]){display:grid;pointer-events:auto}

/* Version 2.0.4: Game-Center Einladungsbadge */
.tile-game-badge{position:relative;top:-3px;margin-left:7px;font-family:ui-monospace,monospace;font-size:10px;letter-spacing:0}
.nav-game-badge{margin-left:3px}

/* Version 2.0.5: Spielsteuerung-Hover + 4-Gewinnt Einwurfanimation */
.game-window .game-topbar button:not(.danger-mini):not(:disabled):hover,
.game-window .game-topbar button:not(.danger-mini):not(:disabled):focus-visible,
.game-window .game-controls button:not(.danger-mini):not(:disabled):hover,
.game-window .game-controls button:not(.danger-mini):not(:disabled):focus-visible,
.game-window .game-chat-drawer button:not(.danger-mini):not(:disabled):hover,
.game-window .game-chat-drawer button:not(.danger-mini):not(:disabled):focus-visible{
  color:#06120a!important;
  border-color:var(--accent)!important;
  background:var(--accent)!important;
  box-shadow:0 0 18px rgba(126,255,59,.30),inset 0 0 18px rgba(255,255,255,.08)!important;
  outline:none;
}
.game-window .danger-mini{border-color:rgba(255,102,92,.46)!important;color:#ff8a82!important}
.game-window .danger-mini:not(:disabled):hover,
.game-window .danger-mini:not(:disabled):focus-visible{
  color:#fff!important;
  border-color:#ff665c!important;
  background:#b72b25!important;
  box-shadow:0 0 18px rgba(255,102,92,.34)!important;
  outline:none;
}
.connect4-cell.chip-drop-in{
  position:relative;
  z-index:8;
  will-change:transform,filter;
  animation:connect4-chip-drop .48s cubic-bezier(.20,.78,.24,1.08) both;
}
@keyframes connect4-chip-drop{
  0%{transform:translateY(calc(-1 * var(--chip-drop-distance,420px)));filter:brightness(1.45) drop-shadow(0 0 14px currentColor)}
  72%{transform:translateY(7px)}
  88%{transform:translateY(-3px)}
  100%{transform:translateY(0);filter:brightness(1)}
}
@media(prefers-reduced-motion:reduce){.connect4-cell.chip-drop-in{animation-duration:.01ms!important}}

/* Version 2.0.6: echter 4-Gewinnt-Chip faellt 1,2 Sekunden von oberhalb des Bretts ins Zielfeld. */
.connect4-cell.chip-drop-in{animation:none!important;transform:none!important;filter:none!important}
.connect4-cell.chip-landing-hidden{opacity:0!important}
.connect4-board{overflow:visible!important}
.connect4-falling-chip{
  position:absolute;
  z-index:40;
  display:block;
  pointer-events:none;
  border-radius:50%;
  border:2px solid transparent;
  will-change:transform,filter;
  animation:connect4-real-chip-fall 1.2s cubic-bezier(.24,.72,.25,1) both;
}
.connect4-falling-chip.p1{
  border-color:#7eff3b;
  background:radial-gradient(circle at 34% 28%,#edffd8 0 5%,#8cff52 24%,#54bd23 52%,#173c0c 83%);
  box-shadow:inset 0 0 0 4px rgba(9,28,8,.30),0 0 22px rgba(126,255,59,.62);
}
.connect4-falling-chip.p2{
  border-color:#43d9ff;
  background:radial-gradient(circle at 34% 28%,#e1fbff 0 5%,#57dcff 24%,#168fb1 52%,#09394c 83%);
  box-shadow:inset 0 0 0 4px rgba(6,24,31,.30),0 0 22px rgba(67,217,255,.62);
}
.connect4-is-animating .connect4-column{pointer-events:none}
@keyframes connect4-real-chip-fall{
  0%{transform:translateY(0) scale(1.04);filter:brightness(1.42)}
  76%{transform:translateY(var(--connect4-fall-distance)) scale(1.015);filter:brightness(1.14)}
  86%{transform:translateY(calc(var(--connect4-fall-distance) + 8px)) scale(.98,1.03)}
  93%{transform:translateY(calc(var(--connect4-fall-distance) - 4px)) scale(1.015,.985)}
  100%{transform:translateY(var(--connect4-fall-distance)) scale(1);filter:brightness(1)}
}
@media(prefers-reduced-motion:reduce){.connect4-falling-chip{animation-duration:1.2s!important}}

/* Version 2.0.7: 16-Bit Cyber Audio UI */
.game-sound-toggle{min-width:92px;text-align:center}
.game-sound-toggle.sound-off{color:#6f8798!important;border-color:rgba(86,119,143,.42)!important;background:rgba(7,18,29,.55)!important;box-shadow:none!important}
.game-sound-toggle.sound-off:hover,.game-sound-toggle.sound-off:focus-visible{color:#06120a!important;border-color:var(--accent)!important;background:var(--accent)!important;box-shadow:0 0 18px rgba(126,255,59,.30)!important}


/* Version 2.0.8: Victory / Defeat Experience */
.game-result{overflow:hidden;background:rgba(1,6,12,.88);backdrop-filter:blur(10px);isolation:isolate}
.game-result::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 42%,rgba(126,255,59,.08),transparent 42%),linear-gradient(90deg,transparent 0 49.8%,rgba(78,206,255,.08) 50%,transparent 50.2%);pointer-events:none}
.game-result.defeat::before{background:radial-gradient(circle at 50% 42%,rgba(255,70,70,.10),transparent 43%),linear-gradient(90deg,transparent 0 49.8%,rgba(255,76,76,.08) 50%,transparent 50.2%)}
.match-end-card{position:relative;z-index:2;width:min(560px,88%);display:grid;justify-items:center;gap:10px;padding:36px 28px 30px;border:1px solid rgba(126,255,59,.36);background:linear-gradient(180deg,rgba(7,22,30,.88),rgba(2,9,15,.94));box-shadow:0 0 0 1px rgba(126,255,59,.05) inset,0 0 52px rgba(126,255,59,.10);clip-path:polygon(0 14px,14px 0,calc(100% - 14px) 0,100% 14px,100% calc(100% - 14px),calc(100% - 14px) 100%,14px 100%,0 calc(100% - 14px));animation:end-card-in .55s cubic-bezier(.18,.8,.18,1) both}
.match-end-card.defeat{border-color:rgba(255,80,80,.42);box-shadow:0 0 0 1px rgba(255,80,80,.04) inset,0 0 54px rgba(255,54,54,.12);animation:end-card-glitch-in .55s steps(8,end) both}
.match-end-card.draw{border-color:rgba(73,210,255,.38);box-shadow:0 0 45px rgba(73,210,255,.10)}
.match-end-card strong{font:900 clamp(46px,8vw,88px)/.82 Arial Black,Arial,sans-serif!important;letter-spacing:-.06em;text-shadow:0 0 22px rgba(126,255,59,.36)}
.match-end-card.defeat strong{color:#ff625c!important;text-shadow:0 0 22px rgba(255,70,64,.42);animation:defeat-text-glitch 2.4s steps(1,end) infinite}
.match-end-card.draw strong{color:#55dfff!important;text-shadow:0 0 20px rgba(85,223,255,.30)}
.match-end-card>span{font:700 14px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;color:#d8e5ec!important}
.match-end-card>small{margin-top:6px;color:#6f93a9;font:700 9px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em}
.result-kicker{margin:2px 0 0;color:var(--accent);font:800 9px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.18em}.defeat .result-kicker{color:#ff625c}.draw .result-kicker{color:#55dfff}
.result-scanlines{position:absolute;inset:0;opacity:.16;background:repeating-linear-gradient(180deg,rgba(255,255,255,.05) 0 1px,transparent 1px 4px);mix-blend-mode:screen;pointer-events:none;animation:scan-drift 8s linear infinite}
.cyber-trophy{position:relative;width:180px;height:154px;display:grid;place-items:center;filter:drop-shadow(0 0 13px rgba(126,255,59,.32));animation:trophy-build .9s cubic-bezier(.16,.84,.26,1) both}
.cyber-trophy svg{width:100%;height:100%;overflow:visible}.cyber-trophy path{fill:none;stroke:#8dff52;stroke-width:5;stroke-linecap:square;stroke-linejoin:miter;vector-effect:non-scaling-stroke}.cyber-trophy .handle{stroke:#4ddcff}.cyber-trophy .stem{stroke:#9aff60}.cyber-trophy .shine{stroke-width:2;stroke:#d8ffcb;opacity:.6}.cyber-trophy .cup{stroke-dasharray:420;stroke-dashoffset:420;animation:trophy-draw .9s .12s ease-out forwards}.cyber-trophy .handle{stroke-dasharray:260;stroke-dashoffset:260;animation:trophy-draw .75s .28s ease-out forwards}.cyber-trophy .stem,.cyber-trophy .shine{stroke-dasharray:180;stroke-dashoffset:180;animation:trophy-draw .55s .48s ease-out forwards}.trophy-core{position:absolute;width:56px;height:56px;border-radius:50%;background:radial-gradient(circle,#dfffce 0 8%,#8dff52 9% 18%,rgba(126,255,59,.15) 19% 42%,transparent 43%);box-shadow:0 0 28px rgba(126,255,59,.45);animation:trophy-pulse 1.3s .75s ease-in-out infinite}
.defeat-emblem{position:relative;width:154px;height:132px;margin:8px 0 5px;filter:drop-shadow(0 0 14px rgba(255,72,64,.28));animation:defeat-emblem-in .7s steps(7,end) both}.defeat-hex{position:absolute;inset:8px 20px;border:4px solid #ff5d57;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);box-shadow:0 0 22px rgba(255,70,64,.18) inset}.defeat-slash{position:absolute;left:69px;top:-2px;width:6px;height:139px;background:#ff5d57;transform:rotate(31deg);box-shadow:0 0 18px rgba(255,70,64,.55)}.defeat-emblem i{position:absolute;left:28px;right:28px;height:2px;background:#ff7b76;opacity:.7}.defeat-emblem i:nth-of-type(1){top:36px;transform:translateX(-13px)}.defeat-emblem i:nth-of-type(2){top:65px;transform:translateX(17px)}.defeat-emblem i:nth-of-type(3){top:94px;transform:translateX(-6px)}
.draw-emblem{width:116px;height:116px;display:grid;place-items:center;border:3px solid #55dfff;clip-path:polygon(22% 0,78% 0,100% 22%,100% 78%,78% 100%,22% 100%,0 78%,0 22%);color:#55dfff;font:900 64px/1 ui-monospace,monospace;box-shadow:0 0 26px rgba(85,223,255,.20) inset;animation:trophy-build .7s ease-out both}
@keyframes end-card-in{from{opacity:0;transform:scale(.92) translateY(16px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@keyframes end-card-glitch-in{0%{opacity:0;transform:translate(18px,-6px) skewX(-5deg)}25%{opacity:.5;transform:translate(-12px,4px) skewX(4deg)}55%{opacity:.82;transform:translate(7px,-2px)}100%{opacity:1;transform:none}}
@keyframes trophy-build{0%{opacity:0;transform:scale(.62) rotateX(35deg);filter:blur(8px)}70%{opacity:1;transform:scale(1.06);filter:none}100%{transform:scale(1)}}
@keyframes trophy-draw{to{stroke-dashoffset:0}}
@keyframes trophy-pulse{0%,100%{transform:scale(.84);opacity:.42}50%{transform:scale(1.12);opacity:.9}}
@keyframes scan-drift{to{transform:translateY(12px)}}
@keyframes defeat-emblem-in{0%{opacity:0;transform:scale(1.2) translateX(20px)}35%{opacity:.5;transform:scale(.92) translateX(-14px)}70%{opacity:.82;transform:scale(1.04) translateX(7px)}100%{opacity:1;transform:none}}
@keyframes defeat-text-glitch{0%,87%,100%{transform:none;clip-path:none}88%{transform:translateX(-4px);clip-path:inset(10% 0 63% 0)}89%{transform:translateX(5px);clip-path:inset(58% 0 14% 0)}90%{transform:none;clip-path:none}}
@media(max-width:700px){.match-end-card{padding:28px 16px 24px}.cyber-trophy{width:142px;height:124px}.defeat-emblem{transform:scale(.86);margin:-2px 0}.match-end-card strong{font-size:clamp(40px,15vw,64px)!important}}


/* Version 2.0.9: Music UI Polish – green hover feedback + drag/drop target */
.music-card{
  transition:transform .18s,border-color .18s,box-shadow .18s,background .18s;
}
.music-card:hover{
  transform:translateY(-3px);
  border-color:var(--accent);
  background:linear-gradient(145deg,rgba(126,255,59,.075),rgba(7,17,29,.98));
  box-shadow:inset 0 0 22px rgba(126,255,59,.035),0 0 18px rgba(126,255,59,.10);
}
.music-card:hover .music-card-body h3,
.music-card:hover .music-card-kicker{
  color:var(--accent);
  text-shadow:0 0 10px rgba(126,255,59,.30);
}
.player-queue li{
  position:relative;
  transition:background .14s,border-color .14s,box-shadow .14s,transform .14s;
}
.player-queue li:not(.player-queue-empty):hover{
  background:linear-gradient(90deg,rgba(126,255,59,.12),rgba(126,255,59,.025));
  border-left-color:var(--accent);
  box-shadow:inset 3px 0 0 var(--accent),inset 0 0 18px rgba(126,255,59,.035);
}
.player-queue li:not(.player-queue-empty):hover .player-queue-play,
.player-queue li:not(.player-queue-empty):hover .player-queue-play strong,
.player-queue li:not(.player-queue-empty):hover .player-queue-play>span:first-child{
  color:var(--accent);
}
.player-queue li:not(.player-queue-empty):hover .player-queue-play strong{
  text-shadow:0 0 9px rgba(126,255,59,.32);
}
.player-queue li.is-dragging{
  opacity:.46;
  transform:scale(.992);
  background:rgba(126,255,59,.055);
  box-shadow:inset 3px 0 0 var(--accent);
}
.player-queue li.is-drop-target::before{
  content:"";
  position:absolute;
  z-index:5;
  left:3px;
  right:3px;
  top:-2px;
  height:2px;
  background:var(--accent);
  box-shadow:0 0 10px rgba(126,255,59,.85),0 0 18px rgba(126,255,59,.42);
  pointer-events:none;
}
.player-queue li.is-drop-target{
  background:linear-gradient(90deg,rgba(126,255,59,.14),rgba(126,255,59,.03));
}


/* Version 2.0.11: Nur neue Hintergrundbilder für die drei Game-Center-Auswahlkacheln.
   Bestehende Typografie, Icons, Rahmen, Hover und Interaktion bleiben unverändert. */
.game-choice[data-game="mill"]{
  background-image:linear-gradient(90deg,rgba(3,10,17,.90) 0%,rgba(3,10,17,.76) 34%,rgba(3,10,17,.42) 58%,rgba(3,10,17,.26) 100%),url('/static/game-tile-mill.webp');
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.game-choice[data-game="checkers"]{
  background-image:linear-gradient(90deg,rgba(3,10,17,.90) 0%,rgba(3,10,17,.76) 34%,rgba(3,10,17,.42) 58%,rgba(3,10,17,.26) 100%),url('/static/game-tile-checkers.webp');
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.game-choice[data-game="connect4"]{
  background-image:linear-gradient(90deg,rgba(3,10,17,.90) 0%,rgba(3,10,17,.76) 34%,rgba(3,10,17,.42) 58%,rgba(3,10,17,.26) 100%),url('/static/game-tile-connect4.webp');
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}


/* Version 2.0.12: Symbolkaestchen der drei Game-Center-Auswahlkacheln nach links verschoben, damit die Spielmotive rechts frei bleiben. */

/* Version 2.0.13: feste Hintergrundmotive fuer die vorhandenen Link-Kacheln.
   Zuordnung erfolgt ausschliesslich fuer die bekannten Ziele; Layout/Funktionen bleiben unveraendert. */
.link-card.link-art-chatgpt,
.link-card.link-art-malanet,
.link-card.link-art-pihole,
.link-card.link-art-router,
.link-card.link-art-youtube,
.link-card.link-art-zabbix{
  background-size:cover;
  background-position:center right;
  background-repeat:no-repeat;
}
.link-card.link-art-chatgpt{background-image:linear-gradient(90deg,rgba(3,10,17,.94) 0%,rgba(3,10,17,.80) 40%,rgba(3,10,17,.48) 68%,rgba(3,10,17,.30) 100%),url('/static/link-bg-chatgpt.webp')}
.link-card.link-art-malanet{background-image:linear-gradient(90deg,rgba(3,10,17,.94) 0%,rgba(3,10,17,.80) 40%,rgba(3,10,17,.48) 68%,rgba(3,10,17,.30) 100%),url('/static/link-bg-malanet.webp')}
.link-card.link-art-pihole{background-image:linear-gradient(90deg,rgba(3,10,17,.94) 0%,rgba(3,10,17,.80) 40%,rgba(3,10,17,.48) 68%,rgba(3,10,17,.30) 100%),url('/static/link-bg-pihole.webp')}
.link-card.link-art-router{background-image:linear-gradient(90deg,rgba(3,10,17,.94) 0%,rgba(3,10,17,.80) 40%,rgba(3,10,17,.48) 68%,rgba(3,10,17,.30) 100%),url('/static/link-bg-router.webp')}
.link-card.link-art-youtube{background-image:linear-gradient(90deg,rgba(3,10,17,.94) 0%,rgba(3,10,17,.80) 40%,rgba(3,10,17,.48) 68%,rgba(3,10,17,.30) 100%),url('/static/link-bg-youtube.webp')}
.link-card.link-art-zabbix{background-image:linear-gradient(90deg,rgba(3,10,17,.94) 0%,rgba(3,10,17,.80) 40%,rgba(3,10,17,.48) 68%,rgba(3,10,17,.30) 100%),url('/static/link-bg-zabbix.webp')}
.link-card[class*="link-art-"] .link-preview{background:rgba(3,10,17,.32);backdrop-filter:saturate(1.04)}
.link-card[class*="link-art-"] .link-preview-body{background:linear-gradient(90deg,rgba(3,10,17,.82),rgba(3,10,17,.42) 58%,rgba(3,10,17,.18));}
.link-card[class*="link-art-"] .link-card-meta{background:linear-gradient(90deg,rgba(3,10,17,.88),rgba(3,10,17,.66));}
.link-card[class*="link-art-"] .link-card-actions{background:rgba(3,10,17,.72);}


/* Version 2.0.14: Link-Hintergrundmotive moderat aufgehellt.
   Nur die dunklen Lesbarkeits-Overlays werden transparenter; Layout, Inhalte und Funktionen bleiben unveraendert. */
.link-card.link-art-chatgpt{background-image:linear-gradient(90deg,rgba(3,10,17,.88) 0%,rgba(3,10,17,.68) 40%,rgba(3,10,17,.34) 68%,rgba(3,10,17,.16) 100%),url('/static/link-bg-chatgpt.webp')}
.link-card.link-art-malanet{background-image:linear-gradient(90deg,rgba(3,10,17,.88) 0%,rgba(3,10,17,.68) 40%,rgba(3,10,17,.34) 68%,rgba(3,10,17,.16) 100%),url('/static/link-bg-malanet.webp')}
.link-card.link-art-pihole{background-image:linear-gradient(90deg,rgba(3,10,17,.88) 0%,rgba(3,10,17,.68) 40%,rgba(3,10,17,.34) 68%,rgba(3,10,17,.16) 100%),url('/static/link-bg-pihole.webp')}
.link-card.link-art-router{background-image:linear-gradient(90deg,rgba(3,10,17,.88) 0%,rgba(3,10,17,.68) 40%,rgba(3,10,17,.34) 68%,rgba(3,10,17,.16) 100%),url('/static/link-bg-router.webp')}
.link-card.link-art-youtube{background-image:linear-gradient(90deg,rgba(3,10,17,.88) 0%,rgba(3,10,17,.68) 40%,rgba(3,10,17,.34) 68%,rgba(3,10,17,.16) 100%),url('/static/link-bg-youtube.webp')}
.link-card.link-art-zabbix{background-image:linear-gradient(90deg,rgba(3,10,17,.88) 0%,rgba(3,10,17,.68) 40%,rgba(3,10,17,.34) 68%,rgba(3,10,17,.16) 100%),url('/static/link-bg-zabbix.webp')}
.link-card[class*="link-art-"] .link-preview{background:rgba(3,10,17,.20);backdrop-filter:saturate(1.04)}
.link-card[class*="link-art-"] .link-preview-body{background:linear-gradient(90deg,rgba(3,10,17,.68),rgba(3,10,17,.30) 58%,rgba(3,10,17,.09));}
.link-card[class*="link-art-"] .link-card-meta{background:linear-gradient(90deg,rgba(3,10,17,.76),rgba(3,10,17,.52));}
.link-card[class*="link-art-"] .link-card-actions{background:rgba(3,10,17,.58);}

/* Version 2.0.15: Mensch ärgere Dich nicht – Originalvariante für 2/4 Spieler */
.maedn-options{display:grid;gap:12px;margin-top:8px}.dialog-label{color:var(--accent);font:700 9px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em}.maedn-mode{display:grid;grid-template-columns:1fr 1fr;gap:8px}.maedn-mode-btn.active{color:#06120a!important;border-color:var(--accent)!important;background:var(--accent)!important;box-shadow:0 0 16px rgba(126,255,59,.2)}.maedn-opponents{display:grid;gap:7px;max-height:230px;overflow:auto;padding-right:3px}.maedn-user{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid rgba(39,98,136,.7);background:rgba(4,16,27,.72);cursor:pointer}.maedn-user:hover{border-color:var(--accent);background:rgba(126,255,59,.045)}.maedn-user input{accent-color:#7eff3b}.maedn-user span{font-size:12px}.maedn-user small{color:#6f8ca1;font:8px ui-monospace,monospace;letter-spacing:.08em}
.game-choice[data-game="maedn"]{
  background-image:linear-gradient(90deg,rgba(3,10,17,.90) 0%,rgba(3,10,17,.76) 34%,rgba(3,10,17,.42) 58%,rgba(3,10,17,.24) 100%),url('/static/game-tile-maedn.webp');
  background-size:cover;
  background-position:center right;
  background-repeat:no-repeat;
}
.game-choice[data-game="maedn"] .game-choice-symbol{font-size:31px}
.player-chip.p3{color:#ffcc4d}.player-chip.p4{color:#ff5fd2}.player-chip.p3:before,.player-chip.p4:before{box-shadow:0 0 10px currentColor}
.maedn-board{position:relative;display:grid!important;grid-template-columns:repeat(11,minmax(42px,1fr));grid-template-rows:repeat(11,minmax(42px,1fr));gap:4px;width:min(78vh,760px)!important;aspect-ratio:1!important;padding:16px;border:2px solid #2a78aa;background:radial-gradient(circle at 50% 50%,rgba(20,77,108,.34),transparent 40%),linear-gradient(145deg,rgba(6,23,38,.98),rgba(2,9,15,.99));box-shadow:inset 0 0 65px rgba(0,0,0,.38),0 0 30px rgba(67,217,255,.10)}
.maedn-cell{position:relative;display:grid;place-items:center;min-width:0;min-height:0;border:1px solid rgba(55,125,166,.38);background:rgba(6,20,32,.84);box-shadow:inset 0 0 15px rgba(0,0,0,.28)}.maedn-cell.track{border-radius:50%;background:radial-gradient(circle,#0c2d43 0 42%,#06131f 70%);border-color:#2a739f}.maedn-cell.start{box-shadow:inset 0 0 0 2px currentColor,0 0 12px rgba(67,217,255,.08)}.maedn-cell.goal{border-radius:10px}.maedn-cell.yard{border-radius:50%;opacity:.92}
.maedn-cell.slot1{color:#7eff3b;border-color:rgba(126,255,59,.65)}.maedn-cell.slot2{color:#43d9ff;border-color:rgba(67,217,255,.68)}.maedn-cell.slot3{color:#ffcc4d;border-color:rgba(255,204,77,.7)}.maedn-cell.slot4{color:#ff5fd2;border-color:rgba(255,95,210,.7)}.maedn-cell.goal.slot1,.maedn-cell.yard.slot1{background:rgba(126,255,59,.09)}.maedn-cell.goal.slot2,.maedn-cell.yard.slot2{background:rgba(67,217,255,.09)}.maedn-cell.goal.slot3,.maedn-cell.yard.slot3{background:rgba(255,204,77,.08)}.maedn-cell.goal.slot4,.maedn-cell.yard.slot4{background:rgba(255,95,210,.08)}
.maedn-piece{display:grid;place-items:center;width:72%;height:72%;min-width:24px;min-height:24px;border-radius:50%;border:2px solid rgba(255,255,255,.44);font:900 11px ui-monospace,monospace;color:#031018;cursor:pointer;transition:transform .15s,box-shadow .15s,filter .15s}.maedn-piece:disabled{cursor:default}.maedn-piece.p1{background:radial-gradient(circle at 35% 28%,#efffdc,#7eff3b 40%,#2e700f 78%);box-shadow:0 0 14px rgba(126,255,59,.34)}.maedn-piece.p2{background:radial-gradient(circle at 35% 28%,#e5fbff,#43d9ff 40%,#146784 78%);box-shadow:0 0 14px rgba(67,217,255,.34)}.maedn-piece.p3{background:radial-gradient(circle at 35% 28%,#fff8d6,#ffcc4d 40%,#85620b 78%);box-shadow:0 0 14px rgba(255,204,77,.32)}.maedn-piece.p4{background:radial-gradient(circle at 35% 28%,#ffe2f7,#ff5fd2 40%,#7b1a66 78%);box-shadow:0 0 14px rgba(255,95,210,.32)}.maedn-piece.targetable{outline:2px solid #fff;outline-offset:3px;animation:maedn-target-pulse 1s ease-in-out infinite}.maedn-piece.targetable:hover{transform:scale(1.12);filter:brightness(1.18)}@keyframes maedn-target-pulse{50%{box-shadow:0 0 20px currentColor,0 0 0 4px rgba(255,255,255,.10)}}
.maedn-center{display:grid;place-items:center;align-content:center;border:1px solid rgba(67,217,255,.4);transform:rotate(45deg);background:rgba(4,17,28,.92);box-shadow:0 0 20px rgba(67,217,255,.12)}.maedn-center>*{transform:rotate(-45deg)}.maedn-center span{color:var(--accent);font:900 11px ui-monospace,monospace}.maedn-center small{color:#6f91a8;font:7px ui-monospace,monospace}.maedn-dice{position:absolute;right:-98px;top:50%;transform:translateY(-50%);display:grid;place-items:center;gap:4px;width:82px;height:82px;border:1px solid var(--accent);background:rgba(5,18,29,.96);color:var(--accent);cursor:pointer;box-shadow:0 0 22px rgba(126,255,59,.10),inset 0 0 20px rgba(126,255,59,.04)}.maedn-dice span{font:900 34px ui-monospace,monospace}.maedn-dice small{font:7px ui-monospace,monospace;letter-spacing:.08em}.maedn-dice:not(:disabled):hover{color:#06120a;background:var(--accent);box-shadow:0 0 24px rgba(126,255,59,.34)}.maedn-dice:disabled{opacity:.55;cursor:default}
@media(max-width:980px){.maedn-board{grid-template-columns:repeat(11,minmax(28px,1fr));grid-template-rows:repeat(11,minmax(28px,1fr));width:min(88vw,680px)!important;padding:8px;gap:2px}.maedn-dice{right:8px;top:auto;bottom:8px;transform:none;width:66px;height:66px;background:rgba(3,12,20,.94);z-index:5}.maedn-dice span{font-size:27px}.maedn-piece{font-size:9px}}

/* Version 2.0.18: MÄrgereDichN Würfelanimation */
.maedn-dice.rolling{pointer-events:none;animation:maednDiceShake .16s steps(2,end) infinite,maednDiceGlow .9s ease-in-out infinite alternate;border-color:#7eff3b;box-shadow:0 0 34px rgba(126,255,59,.28),0 0 56px rgba(67,217,255,.18),inset 0 0 24px rgba(126,255,59,.08)}
.maedn-dice.rolling span{animation:maednDiceFace .24s steps(2,end) infinite;text-shadow:0 0 12px currentColor}
@keyframes maednDiceShake{0%{transform:translateY(-50%) rotate(-2deg) scale(.98)}50%{transform:translateY(-50%) rotate(2deg) scale(1.03)}100%{transform:translateY(-50%) rotate(-1deg) scale(1)}}
@keyframes maednDiceGlow{from{filter:brightness(1)}to{filter:brightness(1.35)}}
@keyframes maednDiceFace{0%{opacity:.72;transform:scale(.92)}100%{opacity:1;transform:scale(1.08)}}
@media(max-width:980px){@keyframes maednDiceShake{0%{transform:rotate(-2deg) scale(.98)}50%{transform:rotate(2deg) scale(1.03)}100%{transform:rotate(-1deg) scale(1)}}}


/* Version 2.0.18: Hintergrundbild fuer MÄrgereDichN-Auswahlkachel; sonst keine Game-Center-Aenderung. */
