/* Krypta: dieselbe Seitengestaltung wie Gorekanoid; ausschließlich lokale Assets. */
.kl-lobby { color:#f4eadd; font:14px/1.6 Inter,system-ui,sans-serif; text-align:left; padding-bottom:12px; }
.kl-lobby *, .kl-game-toolbar * { box-sizing:border-box; }
.kl-lobby button, .kl-game-toolbar button { font:inherit; cursor:pointer; }
.kl-lobby button:focus-visible, .kl-lobby summary:focus-visible, .kl-lobby input:focus-visible, .kl-game-toolbar button:focus-visible { outline:3px solid #f3c584; outline-offset:4px; }
.kl-lobby button:disabled, .kl-game-toolbar button:disabled { opacity:.45; cursor:default; }
.kl-hero { position:relative; isolation:isolate; overflow:hidden; min-height:330px; border:1px solid #4c313d; border-radius:16px; background:#1b1118 url('img/hero-crypt-v1.webp') 76% 44%/cover; margin-bottom:32px; }
.kl-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(15,9,15,.99),rgba(15,9,15,.89) 38%,rgba(15,9,15,.18) 90%); }
.kl-hero-copy { max-width:600px; padding:32px 36px; }
.kl-eyebrow { display:block; color:#d9a5ab; font:700 10px/1.4 ui-monospace,monospace; letter-spacing:.14em; }
.kl-hero h1 { margin:20px 0 12px; color:#f4eadd; font:400 clamp(38px,5.7vw,66px)/1.12 'Permanent Marker',cursive; letter-spacing:-.04em; }
.kl-hero h1 span { display:block; color:#ed6268; }
.kl-hero p { max-width:405px; margin:0; color:#d1c3c5; font-size:15px; line-height:1.7; }
.kl-tags { display:flex; flex-wrap:wrap; gap:8px 18px; margin:18px 0 6px; color:#d5c9cc; font:11px/1.5 ui-monospace,monospace; }
.kl-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; margin-top:12px; }
.kl-hero-actions .kl-text-button, .kl-hero-actions .kl-comment-link, .kl-hero-actions .kl-report-button { min-height:44px; padding:10px 0; background:none; border:0; color:#c8b4bc; font-size:12px; font-weight:400; text-decoration:underline; text-underline-offset:4px; }
.kl-hero-actions .kl-text-button:hover, .kl-hero-actions .kl-comment-link:hover, .kl-hero-actions .kl-report-button:hover { color:#f1d4dc; }
.kl-disclosure-icon::before { content:'+'; }
.kl-details[open] .kl-disclosure-icon::before { content:'−'; }
.kl-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; align-items:start; gap:24px; }
.kl-main, .kl-sidebar { min-width:0; }
.kl-section-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
.kl-section-heading h2 { margin:0; color:#f4eadd; font:700 19px/1.3 Inter,system-ui,sans-serif; letter-spacing:-.02em; }
.kl-section-heading > span { color:#b5a9ae; font-size:11px; }
.kl-modes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.kl-mode { display:flex; flex-direction:column; align-items:flex-start; min-width:0; padding:22px; border:1px solid #3b3037; border-radius:12px; background:linear-gradient(145deg,#1c171e,#131116); }
.kl-mode-campaign { border-color:#86424b; background:linear-gradient(145deg,#321b25,#181318); }
.kl-mode h3 { margin:16px 0 10px; color:#f4eadd; font-size:22px; font-weight:700; line-height:1.3; letter-spacing:-.03em; }
.kl-mode p { color:#bfb2b7; margin:0 0 24px; font-size:13px; line-height:1.65; flex:1; }
.kl-mode small { color:#c6b1b6; margin-top:12px; }
.kl-button { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:46px; border:1px solid #70505b; border-radius:7px; padding:11px 16px; background:#272029; color:#f4eadd; font-weight:700!important; line-height:1.3!important; text-decoration:none; transition:background .15s,border-color .15s; }
.kl-mode .kl-button { width:100%; }
.kl-button:hover { background:#392731; border-color:#c87685; }
.kl-button-primary { background:#bb3d49; border-color:#e5727d; color:#fff7eb; }
.kl-button-primary:hover { background:#d34c59; border-color:#f69da6; }
.kl-resume { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; padding:18px; margin-bottom:14px; border:1px solid #726044; background:#292219; border-radius:9px; }
.kl-resume strong, .kl-resume span { display:block; }
.kl-resume strong { color:#f4d5a3; font-size:14px; }
.kl-resume span { color:#c8bba8; font-size:12px; margin-top:4px; }
.kl-controls { margin:28px 0; padding:22px; border:1px solid #3b3037; border-radius:12px; background:#151217; }
.kl-controls ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; list-style:none; margin:20px 0 0; padding:0; }
.kl-controls li { display:flex; gap:10px; }
.kl-controls li > span { display:grid; place-items:center; flex:0 0 25px; height:25px; border:1px solid #65434d; border-radius:50%; color:#efa0a5; font:12px ui-monospace,monospace; }
.kl-controls strong { font-size:12px; color:#f4eadd; }
.kl-controls p { color:#b5a9ae; margin:5px 0 0; font-size:11px; line-height:1.6; }
.kl-details-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.kl-details { min-width:0; align-self:start; border:1px solid #3b3037; border-radius:9px; background:#171419; }
.kl-details summary { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:17px 18px; cursor:pointer; list-style:none; color:#e8dadd; font-size:13px; font-weight:600; }
.kl-details summary::-webkit-details-marker { display:none; }
.kl-details summary > span { color:#b796a3; font:12px ui-monospace,monospace; }
.kl-details[open] summary { border-bottom:1px solid #3b3037; }
.kl-details-body { padding:16px; }
.kl-details-body > p { font-size:12px; color:#b5a9ae; margin:0 0 18px; }
.kl-details-body .audio-btn { min-height:38px; border-color:#5f414c; background:#28202a; color:#ebd9de; letter-spacing:0; }
.kl-player, .kl-ranking { padding:22px; border:1px solid #3b3037; border-radius:12px; background:#171419; }
.kl-player { margin-bottom:16px; }
.kl-player label { display:block; margin-bottom:10px; color:#e8dadd; font-size:12px; font-weight:600; }
.kl-player input { width:100%; min-height:44px; padding:10px 12px; color:#f4eadd; background:#0e0b10; border:1px solid #66505c; border-radius:6px; font:14px Inter,system-ui,sans-serif; }
.kl-player input::placeholder { color:#a998a2; }
.kl-player input[readonly] { border-color:#6c5a3d; color:#ead09e; }
.kl-player p { color:#b5a9ae; font-size:11px; line-height:1.6; margin:10px 0 0; }
.kl-ranking .kl-section-heading { margin-bottom:4px; }
.kl-ranking-sub { margin:0 0 18px; color:#b5a9ae; font-size:11px; }
.kl-ranking table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:12px; }
.kl-ranking th { padding:8px 0; color:#b5a9ae; font-size:10px; font-weight:500; border-bottom:1px solid #50404a; }
.kl-ranking td { padding:12px 0; border-bottom:1px solid #332a32; vertical-align:middle; }
.kl-ranking th:first-child, .kl-ranking td:first-child { width:30px; color:#b796a3; text-align:left; font:11px ui-monospace,monospace; }
.kl-ranking th:nth-child(2), .kl-ranking td:nth-child(2) { text-align:left; overflow-wrap:anywhere; padding-right:10px; }
.kl-ranking th:last-child, .kl-ranking td:last-child { width:84px; text-align:right; color:#f3d6b1; font-variant-numeric:tabular-nums; }
.kl-ranking tbody tr:first-child td { color:#f0c687; }
.kl-game-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 18px; border:1px solid #493039; border-bottom:0; border-radius:12px 12px 0 0; background:linear-gradient(180deg,#241a24,#19121b); color:#f4eadd; font:13px/1.4 Inter,system-ui,sans-serif; }
.kl-game-toolbar .kl-toolbar-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.kl-game-toolbar .kl-tool { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 14px; border:1px solid #65424f; border-radius:8px; background:#2c202b; color:#f0dce2; font-size:13px; font-weight:600; line-height:1.2; transition:background .15s,border-color .15s; }
.kl-game-toolbar .kl-tool:hover:not(:disabled) { background:#442b3a; border-color:#bd7589; }
.kl-game-toolbar .kl-tool-primary { background:#713444; border-color:#ce7687; color:#fff0e6; }
.kl-game-toolbar .kl-tool-primary:hover:not(:disabled) { background:#914356; border-color:#f1a3b0; }
.kl-game-toolbar .kl-tool-back { background:transparent; border-color:transparent; color:#d1b8c3; padding-left:4px; }
.kl-game-toolbar .kl-tool-report { background:transparent; border-color:transparent; color:#bfa4b1; font-size:11px; font-weight:400; }
.kl-tool-icon { width:18px; height:18px; flex:0 0 18px; }
.kl-toolbar-title { font:700 11px ui-monospace,monospace; color:#d6a4b3; letter-spacing:.08em; }
.kl-playing-note { margin:12px 0 22px; color:#b5a9ae; font:11px/1.6 Inter,system-ui,sans-serif; text-align:center; }
.kl-community { max-width:1072px; margin:32px auto 0; padding:24px; border-top:1px solid #3b3037; color:#b5a9ae; --ink:#f4eadd; --muted:#b5a9ae; --red:#ed6268; --paper:#171419; --paper-2:#20191f; --rt-text-muted:#d7c2cb; --rt-text-faint:#b5a9ae; --rt-text-sub:#e5d5dc; }
.kl-community-heading { display:flex; align-items:baseline; flex-wrap:wrap; gap:12px; }
.kl-community-heading h2 { margin:0; color:#f4eadd; font:700 18px Inter,system-ui,sans-serif; }
.kl-community-heading p { margin:0; font:12px/1.6 Inter,system-ui,sans-serif; }
.kl-community .kom-wrap, .kl-community .sf-wrap { max-width:none; margin:20px 0 0; padding:0; }
.kl-community .sf-auf { color:#d6abb8; border-color:#60404e; min-height:40px; border-radius:5px; }
.kl-community .sf-hinweis { color:#b5a9ae; }
.kl-community .kom-wrap { border-top:1px solid #493039; }
.kl-community .kom-toggle { border-color:#493039; }
.kl-community .kom-input, .kl-community .kom-textarea { border-color:#60404e; color:#f4eadd; }
.kl-report-card { margin:24px 0; padding:20px; border:1px solid #86424b; border-radius:10px; background:#21151d; scroll-margin-top:20px; }
.kl-community .kl-report-card .sf-wrap { margin:0; }
.kl-report-card .sf-auf { background:#9d3344; color:#fff2ea; border-color:#da7481; font-weight:700; }
.kl-report-card .sf-form { border-color:#60404e; background:#171018; }
.kl-report-card .sf-label { color:#dbc6ce; }
.kl-report-card .sf-text { border-color:#715362; border-radius:6px; font-size:13px; }
.kl-comment-link { display:inline-flex; align-items:center; }
.kl-comment-link:focus-visible { outline:3px solid #f3c584; outline-offset:4px; }

.k-page { background:radial-gradient(ellipse at 80% 0,#29121d 0,transparent 48%),#0c0b0e; color:#f4eadd; padding-bottom:36px; }
.k-page .spiel-kopf { max-width:1120px; padding:22px 24px 16px; --spiel-kopf-farbe:#b5a9ae; }
#krypta-wrap { display:block; max-width:1120px; margin:0 auto; padding:0 24px; user-select:auto; }
.kl-lobby { font:14px/1.6 Inter,system-ui,sans-serif; text-align:left; }
.kl-lobby *, .kl-game-toolbar * { box-sizing:border-box; }
.kl-lobby button, .kl-game-toolbar button { font:inherit; cursor:pointer; }
.kl-lobby button:focus-visible, .kl-lobby a:focus-visible, .kl-lobby input:focus-visible, .kl-lobby summary:focus-visible, .kl-game-toolbar button:focus-visible { outline:3px solid #f3c584; outline-offset:4px; }
.kl-lobby button:disabled { opacity:.45; cursor:wait; }
.kl-lobby [hidden], #kPlay[hidden], #kLobby[hidden] { display:none!important; }
.kl-hero h1 { font-family:'Permanent Marker',cursive; }
.kl-lobby #kRestart { font:700 14px/1.3 Inter,system-ui,sans-serif; letter-spacing:0; padding:12px 16px; min-height:46px; border-radius:7px; }
.kl-lobby #kRestart { background:#bb3d49; border-color:#e5727d; color:#fff7eb; }
.kl-lobby #kRestart:hover { background:#d34c59; }
.kl-lobby #kNickRow { display:block; margin:0 0 16px; }
.kl-lobby #kNick { width:100%; max-width:none; font:14px Inter,system-ui,sans-serif; color:#f4eadd; background:#0e0b10; padding:10px 12px; border:1px solid #66505c; border-radius:6px; }
.kl-lobby #k-leaderboard { padding:0; margin:0; max-width:none; width:auto; }
.kl-lobby #k-leaderboard > summary { background:none; border:0; color:#e8dadd; font:600 13px Inter,system-ui,sans-serif; letter-spacing:0; padding:17px 18px; }
.kl-lobby #k-leaderboard[open] > summary { border-bottom:1px solid #3b3037; }
.kl-lobby #k-leaderboard-list { font:12px Inter,system-ui,sans-serif; table-layout:auto; }
.kl-lobby #k-leaderboard-list td { padding:10px 3px; overflow-wrap:anywhere; }
.kl-ranking { padding:0; }
.kl-volume { display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; color:#dbc6ce; font-size:12px; }
.kl-volume .kVol { flex:1; min-width:60px; max-width:130px; height:6px; }
.kl-lobby #kAudioControls { justify-content:flex-start; margin:18px 0 10px; }
.kl-lobby .kAudioBtn, .kl-progress-actions button { min-height:40px; padding:9px 12px; border:1px solid #65424f; border-radius:6px; background:#2c202b; color:#f0dce2; font:12px/1.4 Inter,system-ui,sans-serif; letter-spacing:0; }
.kl-progress-actions { display:grid; gap:10px; }
.kl-lobby #k-difficulty { justify-content:flex-start; gap:8px; padding:0; }
.kl-lobby .game-diff-label { width:100%; color:#dbc6ce!important; font:600 12px Inter,system-ui,sans-serif; letter-spacing:0; }
.kl-lobby .game-diff-btn { padding:9px 10px; min-height:40px; color:#d9c5ce!important; font:12px Inter,system-ui,sans-serif; letter-spacing:0; border-radius:6px; }
.kl-lobby .game-diff-btn.is-active { color:#f4d5a3!important; border-color:#c99c61!important; background:#33281d!important; }
.kl-lobby #k-guide { margin:18px 0 0; width:100%; max-width:none; padding:0; }
.kl-lobby #k-guide-body { padding:20px; font:12px/1.8 Inter,system-ui,sans-serif; color:#bfb2b7; }
.kl-lobby #k-guide-body h3 { color:#f4eadd; font:600 15px Inter,system-ui,sans-serif; letter-spacing:0; }
.kl-lobby #k-guide-body td:first-child { white-space:normal; color:#e8dadd; }
.kl-lobby #k-guide-body table { table-layout:fixed; }
.kl-lobby #k-guide .game-fold__hint { display:none; }
#kPlay { max-width:760px; margin:0 auto; }
#gameWrap { width:100%; }
#gameCanvas { width:100%; height:auto; border:1px solid #493039; border-radius:0 0 12px 12px; box-shadow:none; }
.kl-game-toolbar { flex-wrap:wrap; }
.kl-game-toolbar .kl-toolbar-actions { gap:6px; }
.kl-game-toolbar #kPause { font:600 13px/1.2 Inter,system-ui,sans-serif; letter-spacing:0; min-height:44px; padding:10px 14px; background:#713444; border-color:#ce7687; color:#fff0e6; border-radius:8px; }
.kl-game-toolbar a { text-decoration:none; }
#krypta-wrap:fullscreen, #krypta-wrap:-webkit-full-screen, #krypta-wrap.k-fs-ios { display:flex; max-width:none; padding:0; }
#krypta-wrap:fullscreen #kPlay, #krypta-wrap:-webkit-full-screen #kPlay, #krypta-wrap.k-fs-ios #kPlay { display:block!important; max-width:none; }
#krypta-wrap:fullscreen .kl-game-toolbar, #krypta-wrap:-webkit-full-screen .kl-game-toolbar, #krypta-wrap.k-fs-ios .kl-game-toolbar { display:none; }
#krypta-wrap:fullscreen .kl-playing-note, #krypta-wrap:-webkit-full-screen .kl-playing-note, #krypta-wrap.k-fs-ios .kl-playing-note { display:none; }
#krypta-wrap:fullscreen #gameCanvas, #krypta-wrap:-webkit-full-screen #gameCanvas, #krypta-wrap.k-fs-ios #gameCanvas { width:min(100vw,100dvh); border:0; border-radius:0; }
.k-modal-box { border:1px solid #70505b; border-radius:12px; background:#171419; color:#e8dadd; }
.k-modal-box button { min-height:40px; border-radius:6px; }
@media(max-width:900px) { .kl-layout { grid-template-columns:minmax(0,1fr) 260px; gap:18px; } .kl-modes { grid-template-columns:1fr; } .kl-mode { padding:18px; } .kl-toolbar-title { display:none; } }
@media(max-width:680px) { #krypta-wrap { padding:0 14px; } .k-page .spiel-kopf { padding:16px 14px; } .kl-hero { min-height:0; margin-bottom:24px; background-position:70% center; } .kl-hero-copy { padding:24px; } .kl-hero h1 { font-size:44px; } .kl-hero p { font-size:13px; } .kl-layout,.kl-modes,.kl-details-grid,.kl-controls ol { grid-template-columns:1fr; } .kl-controls ol { gap:18px; } .kl-community { padding:22px 14px; } .kl-game-toolbar { padding:8px; gap:8px; } .kl-game-toolbar .kl-toolbar-actions { flex:1; justify-content:flex-end; gap:4px; } .kl-game-toolbar .kl-tool, .kl-game-toolbar #kPause { font-size:11px; padding:8px; } .kl-tool-report { display:none!important; } }
@media(max-width:380px) { .kl-hero-copy { padding:20px; } .kl-hero h1 { font-size:36px; } .kl-game-toolbar .kl-toolbar-actions { flex-basis:100%; justify-content:space-between; } }
@media(prefers-reduced-motion:reduce) { .kl-lobby *, .kl-game-toolbar * { transition:none!important; } }
.kl-hero-actions #kTutorialBtn { font:12px/1.4 Inter,system-ui,sans-serif; min-height:36px; padding:8px 0; color:#c6b1b6; background:none; border:0; border-radius:0; letter-spacing:0; }
.kl-hero-actions #kTutorialBtn:hover { background:none; color:#f1d4dc; }
.kl-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.kl-tags span { padding:5px 9px; color:#d9bac3; border:1px solid #65434d; border-radius:5px; font-size:11px; }

.kl-lobby #k-guide > summary { border:0; border-radius:0; padding:17px 18px; color:#e8dadd; font:600 13px Inter,system-ui,sans-serif; letter-spacing:0; }
.kl-lobby #k-guide[open] > summary { border-bottom:1px solid #3b3037; }
.kl-lobby #k-leaderboard-list td:first-child { width:24px; }
.kl-lobby #k-leaderboard-list td:nth-child(3) { width:auto; white-space:nowrap; overflow-wrap:normal; }
.kl-lobby #k-leaderboard-list td:last-child { display:none; }
.kl-lobby #k-leaderboard-list td:nth-child(2) { width:100%; }
.kl-lobby #kQuality, .kl-progress-actions #kKammer, .kl-progress-actions #kAchievements, .kl-progress-actions #kKompendium { min-height:40px; padding:9px 12px; border:1px solid #65424f; border-radius:6px; background:#2c202b; color:#f0dce2; font:12px/1.4 Inter,system-ui,sans-serif; letter-spacing:0; }
#kFsPause { display:none; position:absolute; z-index:25; top:8px; right:52px; min-width:36px; height:36px; border:1px solid #70505b; border-radius:6px; background:#241a24; color:#f4eadd; font:18px/1 Inter,system-ui,sans-serif; cursor:pointer; }
#krypta-wrap:fullscreen #kFsPause, #krypta-wrap:-webkit-full-screen #kFsPause, #krypta-wrap.k-fs-ios #kFsPause { display:block; }
#kLoadStatus { max-width:100%; }
#kPlay { scroll-margin-top:12px; }

.kl-lobby #k-guide-body h3 { margin:20px 0 8px; }
.kl-lobby #k-guide-body h3:first-child { margin-top:0; }
.kl-lobby #k-guide-body table { width:100%; border-collapse:collapse; }
.kl-lobby #k-guide-body td { padding:3px 10px 3px 0; vertical-align:top; }
.kl-lobby #k-guide-body a { color:#ed6268; }
.kl-lobby #kQuality:hover, .kl-progress-actions button:hover { background:#442b3a; border-color:#bd7589; }
.kl-lobby .kAudioBtn.kAudio--off { color:#b5a9ae; border-color:#53424d; background:#171419; }

.kl-lobby #kAudioControls { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.kl-hero::before { background:linear-gradient(90deg,rgba(15,9,15,.94),rgba(15,9,15,.75) 38%,rgba(15,9,15,.05) 90%); }
@media(max-width:680px) { .kl-hero::before { background:linear-gradient(90deg,rgba(15,9,15,.96),rgba(15,9,15,.82) 58%,rgba(15,9,15,.4)); } }

#kPausePanel { background:rgba(23,20,25,.97); border-color:#70505b; border-radius:10px; box-shadow:0 8px 30px #0008; }
#kPausePanel .k-pausep-titel, #kPausePanel .k-pausep-row { color:#d9bac3; }
#kPausePanel .kAudioBtn { min-height:38px; padding:8px 10px; border:1px solid #65424f; border-radius:6px; background:#2c202b; color:#f0dce2; font:12px/1.4 Inter,system-ui,sans-serif; letter-spacing:0; }
#kPausePanel .kAudioBtn.kAudio--off { color:#b5a9ae; background:#171419; }
#kFsExit { top:8px; left:auto; right:8px; border-color:#70505b; border-radius:6px; background:#241a24; color:#f4eadd; }
@media(min-width:681px) { #kPlay { max-width:min(760px,calc(100svh - 210px)); } }

.kl-modes { grid-template-columns:1fr; }
.kl-mode-campaign .kl-button { max-width:320px; }

/* Sammlungen nutzen auf großen Bildschirmen den Platz; nur die Listen scrollen. */
:is(#kKammerModal,#kKompendiumModal,#kAchModal) .k-modal-box {
  display:flex; flex-direction:column; box-sizing:border-box;
  width:min(900px,calc(100vw - 48px)); max-width:none;
  max-height:calc(100dvh - 48px); padding:28px;
  font:13px/1.6 Inter,system-ui,sans-serif;
}
:is(#kKammerModal,#kKompendiumModal,#kAchModal) .k-modal-box > h2 {
  flex:none; margin:0 0 12px; color:#f4eadd;
  font:700 20px/1.3 Inter,system-ui,sans-serif; letter-spacing:0;
}
:is(#kKammerModal,#kKompendiumModal,#kAchModal) .k-modal-intro {
  flex:none; margin:0 0 16px; color:#bfb2b7; font:12px/1.65 Inter,system-ui,sans-serif;
}
#kAchProgress, #kKompProgress { flex:none; margin-bottom:16px; color:#d5bdaa; font-size:12px; }
#kAchList, #kKompendiumList, #kKammerList {
  flex:1 1 auto; min-height:0; max-height:none;
  overflow-y:auto; overscroll-behavior:contain; padding-right:6px;
  display:grid; grid-template-columns:1fr; align-content:start; gap:10px;
  scrollbar-width:thin; scrollbar-color:#70505b #171419;
}
:is(#kKammerModal,#kKompendiumModal,#kAchModal) .k-modal-close-row {
  flex:none; margin-top:0; padding-top:18px;
}
:is(#kKammerModal,#kKompendiumModal,#kAchModal) .k-modal-close-row button {
  min-width:160px; min-height:44px; color:#f0dce2; border-color:#70505b;
  background:#2c202b; font:600 13px/1.4 Inter,system-ui,sans-serif; letter-spacing:0;
}
:is(#kAchList,#kKompendiumList) .k-ach-row {
  align-items:flex-start; padding:14px; gap:12px;
  border:1px solid #42313a; background:#21191f; font-size:13px; color:#e8dadd;
}
:is(#kAchList,#kKompendiumList) .k-ach-locked { color:#a99aa1; background:#19151a; }
:is(#kAchList,#kKompendiumList) .k-ach-label { min-width:0; overflow-wrap:anywhere; }
#kKompendiumList > h3, #kKammerList > .k-kammer-titel {
  grid-column:1 / -1; color:#d9bac3; margin:12px 0 0; padding:0 0 8px;
  border-bottom:1px solid #493039; font:600 14px/1.4 Inter,system-ui,sans-serif; letter-spacing:0;
}
#kKammerList > .k-kammer-konto { grid-column:1 / -1; margin:0; color:#f4d5a3; font-size:15px; }
#kKammerList .k-kammer-row {
  margin:0; padding:12px; min-height:70px; border-radius:7px;
  border-color:#493039; font:13px/1.5 Inter,system-ui,sans-serif;
}
#kKammerList .k-kammer-row small { font-size:11px; line-height:1.5; color:#b5a9ae; }
#kKammerList .k-kammer-row small.k-kammer-wirk { color:#e0bf87; }
@media(min-width:760px) {
  #kAchList, #kKompendiumList, #kKammerList { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
}
@media(max-width:600px) {
  :is(#kKammerModal,#kKompendiumModal,#kAchModal) .k-modal-box {
    width:calc(100vw - 24px); max-height:calc(100dvh - 24px); padding:18px;
  }
  :is(#kKammerModal,#kKompendiumModal,#kAchModal) .k-modal-box > h2 { font-size:18px; }
  #kKammerList .k-kammer-row { gap:8px; padding:10px; }
}
#kAchList, #kKompendiumList, #kKammerList { grid-auto-rows:max-content; }
