/* GriffShift App: gemeinsamer Rahmen für Start, Spielen und Belegung (der Editor hat seinen eigenen).
   Erweitert griffshift.css (CI 1.0); Farben, Schrift und Radien aus den --gs-* Tokens. */

body.gs-app.app{min-height:100vh;overflow-x:clip;background:var(--gs-bg)}
.gs-app.app img{max-width:100%}
.gs-app.app kbd.gs-kbd{min-width:1.6rem;padding:.05rem .4rem;font-size:.8125rem;line-height:1.5;white-space:nowrap}

/* ---------- Kopfzeile ---------- */
.app-top{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--gs-space-4);min-height:76px;padding:0 24px;background:#FFF;border-bottom:1px solid var(--gs-line)}
/* Wortmarke links: volle Breite laut CI (mind. 180 px); schmal nur das App-Symbol. */
.gs-app .app-brand{display:flex;align-items:center;justify-self:start;padding:6px 4px;text-decoration:none}
.app-brand img{display:block}
.app-brand .app-brand__mark{width:180px;height:auto}
.app-brand .app-brand__icon{display:none;border-radius:8px}
/* Bereiche: vertiefte Schiene, der aktuelle liegt als heller Schieber darauf (wie im Editor). */
.app-nav{display:flex;align-items:center;gap:2px;min-width:0;padding:3px;border-radius:999px;background:#F1EEE8;border:1px solid var(--gs-line);overflow-x:auto;scrollbar-width:none}
.gs-app .app-nav a{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:999px;color:var(--gs-muted);font-size:.875rem;font-weight:700;text-decoration:none;white-space:nowrap;transition:color 160ms,background-color 160ms}
.app-nav svg{flex:none;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linejoin:round;stroke-linecap:round}
.gs-app .app-nav a:hover{color:var(--gs-text)}
.gs-app .app-nav a[aria-current='page']{background:#FFF;color:var(--gs-blue-action);box-shadow:0 0 0 1px var(--gs-line)}
.app-top__right{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.gs-app .app-stufe{flex:none;display:inline-flex;align-items:center;gap:var(--gs-space-2);min-height:40px;padding:0 var(--gs-space-3);border-radius:var(--gs-radius-pill);background:var(--gs-disabled-bg);color:var(--gs-text);font-size:var(--gs-text-xs);font-weight:600;text-decoration:none;white-space:nowrap}
.app-stufe[data-stufe='basis'],.app-stufe[data-stufe='pro']{background:var(--gs-success-bg);color:var(--gs-success)}
.app-stufe[data-stufe='anmelden']{background:var(--gs-blue-action);color:#FFF!important}
@media(max-width:1100px){.app-nav a span{display:none}.app-nav a{padding:0 12px}}
@media(max-width:860px){.app-brand .app-brand__mark{display:none}.app-brand .app-brand__icon{display:block}}
@media(max-width:700px){.app-top{padding:0 var(--gs-space-4);gap:var(--gs-space-2)}.app-stufe .app-stufe__long{display:none}}

.app-main{max-width:1180px;margin:0 auto;padding:var(--gs-space-12) var(--gs-space-6) var(--gs-space-16)}
@media(max-width:600px){.app-main{padding:var(--gs-space-8) var(--gs-space-4) var(--gs-space-12)}}
.app-main h1{font-size:clamp(1.75rem,3.4vw,2.5rem);font-weight:700;letter-spacing:-.025em;line-height:1.12;margin-bottom:var(--gs-space-3)}
.app-main>.gs-lead{max-width:60ch;margin-bottom:var(--gs-space-8)}

/* ---------- Start ---------- */
.app-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gs-space-6)}
.gs-app .app-tile{position:relative;display:flex;flex-direction:column;gap:var(--gs-space-3);padding:var(--gs-space-6);border:1px solid var(--gs-line);border-radius:var(--gs-radius-lg);background:var(--gs-surface);color:var(--gs-text);text-decoration:none;transition:border-color 120ms,box-shadow 120ms}
.gs-app .app-tile:hover{color:var(--gs-text);border-color:var(--gs-blue-action);box-shadow:0 16px 32px -24px rgba(23,38,56,.4)}
.app-tile h2{margin:0;font-size:1.375rem;font-weight:700}
.app-tile p{margin:0;color:var(--gs-muted)}
.app-tile__icon{display:grid;place-items:center;width:48px;height:48px;border-radius:var(--gs-radius-md);background:var(--gs-blue-tint);color:var(--gs-blue-action)}
.app-tile__icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.app-tile__lock{align-self:flex-start;margin-top:auto;padding:.25rem .625rem;border-radius:var(--gs-radius-pill);background:var(--gs-warning-bg);color:var(--gs-warning);font-size:var(--gs-text-xs);font-weight:600}
.app-tile__lock[hidden]{display:none}
@media(max-width:860px){.app-tiles{grid-template-columns:minmax(0,1fr)}}

.app-box{margin-top:var(--gs-space-8);padding:var(--gs-space-6);border:1px solid var(--gs-line);border-radius:var(--gs-radius-lg);background:var(--gs-surface)}
.app-box h2{font-size:var(--gs-text-lg);font-weight:700;margin-bottom:var(--gs-space-2)}
.app-box>p{color:var(--gs-muted);max-width:68ch}
.app-boxes{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--gs-space-6)}
.app-boxes .app-box{margin-top:var(--gs-space-8)}
@media(max-width:860px){.app-boxes{grid-template-columns:minmax(0,1fr);gap:0}}

.stufen{display:grid;gap:var(--gs-space-2);margin-top:var(--gs-space-4)}
.stufen label{display:flex;align-items:center;gap:var(--gs-space-3);min-height:48px;padding:var(--gs-space-2) var(--gs-space-4);border:1px solid var(--gs-line);border-radius:var(--gs-radius-md);cursor:pointer}
.stufen label:has(input:checked){border-color:var(--gs-blue-action);background:var(--gs-blue-tint)}
.stufen small{display:block;color:var(--gs-muted);font-size:var(--gs-text-xs)}
.testmode{display:inline-flex;margin-bottom:var(--gs-space-3);padding:.25rem .625rem;border-radius:var(--gs-radius-pill);background:var(--gs-warning-bg);color:var(--gs-warning);font-size:var(--gs-text-xs);font-weight:600}

.offline{display:flex;align-items:center;gap:var(--gs-space-3);margin:var(--gs-space-4) 0}
.offline__dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--gs-disabled-text)}
.offline[data-state='ready'] .offline__dot{background:var(--gs-success)}
.offline[data-state='loading'] .offline__dot{background:var(--gs-warning)}
.offline progress{flex:1;max-width:220px;accent-color:var(--gs-blue-action)}
.install-hint{font-size:var(--gs-text-sm);color:var(--gs-muted)}

/* ---------- Spielen ---------- */
.app--spielen .app-main{max-width:1320px;padding-top:var(--gs-space-8)}
.app--spielen .demo{box-shadow:none}

/* ---------- Gesperrt ---------- */
.locked-note{display:flex;align-items:center;flex-wrap:wrap;gap:var(--gs-space-3) var(--gs-space-4);margin-bottom:var(--gs-space-6);padding:var(--gs-space-4) var(--gs-space-5);border:1px solid var(--gs-line);border-radius:var(--gs-radius-lg);background:var(--gs-warning-bg);color:var(--gs-text)}
.locked-note[hidden]{display:none}
.locked-note p{margin:0!important;flex:1;min-width:220px}

/* ---------- Übersicht ---------- */
.ov-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--gs-space-4);margin-bottom:var(--gs-space-6)}
.ov-head h1{margin-bottom:var(--gs-space-1)}
.ov-where{margin:0!important;color:var(--gs-muted);font-size:var(--gs-text-sm)}
.ov-actions{display:flex;flex-wrap:wrap;gap:var(--gs-space-2)}
.ov-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--gs-space-3);margin-bottom:var(--gs-space-6)}
.ov-tabs{display:flex;gap:2px;padding:3px;border-radius:10px;background:var(--gs-disabled-bg)}
.ov-tab{min-height:40px;padding:0 var(--gs-space-4);border:0;border-radius:var(--gs-radius-md);background:none;color:var(--gs-text);font:inherit;font-weight:600;cursor:pointer}
.ov-tab[aria-selected='true']{background:var(--gs-surface);box-shadow:0 1px 3px rgba(23,38,56,.15);color:var(--gs-blue-action)}
.ov-count{margin-left:4px;color:var(--gs-muted);font-weight:500}
.ov-search{flex:1;min-width:180px;max-width:360px;margin-left:auto}
.ov-sort{width:auto}
.ov-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--gs-space-6)}
.ov-card{display:flex;flex-direction:column;border:1px solid var(--gs-line);border-radius:var(--gs-radius-lg);background:var(--gs-surface);overflow:hidden;transition:box-shadow 120ms,border-color 120ms}
.ov-card:hover{border-color:var(--gs-border);box-shadow:0 16px 32px -24px rgba(23,38,56,.45)}
.ov-thumb{display:flex;align-items:flex-start;justify-content:center;height:220px;padding:var(--gs-space-4) var(--gs-space-4) 0;background:linear-gradient(180deg,#E9EEF5,#DCE4EE);overflow:hidden}
.ov-thumb__img,.ov-thumb .sk{display:block;width:auto;max-width:100%;height:auto;max-height:none;box-shadow:0 2px 10px rgba(23,38,56,.18);background:#FFF}
.ov-thumb__img{width:100%;object-fit:cover;object-position:top}
.ov-thumb .sk{width:100%}
.ov-card__body{display:flex;flex-direction:column;gap:2px;padding:var(--gs-space-3) var(--gs-space-4) var(--gs-space-3)}
.ov-card h3{margin:0;font-size:1rem;font-weight:700;line-height:1.3}
.gs-app .ov-card h3 a{color:var(--gs-text);text-decoration:none}
.gs-app .ov-card h3 a:hover{color:var(--gs-blue-action)}
.ov-meta,.ov-in,.ov-date{margin:0!important;font-size:var(--gs-text-xs);color:var(--gs-muted)}
.ov-in{color:var(--gs-blue-action)}
.ov-tools{display:flex;flex-wrap:wrap;gap:2px 10px;margin-top:var(--gs-space-2)}
.ov-tools button{min-height:32px;padding:0;border:0;background:none;color:var(--gs-blue-action);font:inherit;font-size:var(--gs-text-xs);font-weight:600;cursor:pointer}
.ov-tools button:hover{text-decoration:underline}
.ov-tools button[data-do='delete'],.ov-tools button[data-do='purge']{color:var(--gs-red-action)}
.ov-card--trash .ov-thumb{opacity:.55;filter:grayscale(1)}
.ov-folder--trash{margin-left:auto;color:var(--gs-muted)}
.ov-folder--trash[aria-pressed='true']{border-color:var(--gs-red-action);background:var(--gs-red-tint);color:var(--gs-red-action)}
.ov-folder-tools button[data-folder-do='empty']{color:var(--gs-red-action)}
.ov-empty{grid-column:1 / -1;padding:var(--gs-space-12) var(--gs-space-6);border:2px dashed var(--gs-line);border-radius:var(--gs-radius-lg);text-align:center}
.ov-empty h3{margin-bottom:var(--gs-space-2)}
.ov-empty p{color:var(--gs-muted)}
.ov-none{grid-column:1 / -1;color:var(--gs-muted)}
.ov-account{margin-top:var(--gs-space-16);padding-top:var(--gs-space-8);border-top:1px solid var(--gs-line)}
.ov-account>h2{font-size:1.5rem;font-weight:700}
.ov-account .app-boxes .app-box{margin-top:var(--gs-space-4)}
.ov-folders{display:flex;flex-wrap:wrap;align-items:center;gap:var(--gs-space-2);margin:calc(-1 * var(--gs-space-3)) 0 var(--gs-space-6)}
.ov-folders[hidden]{display:none}
.ov-folder{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 var(--gs-space-3);border:1px solid var(--gs-line);border-radius:999px;background:var(--gs-surface);color:var(--gs-text);font:inherit;font-size:var(--gs-text-sm);font-weight:600;cursor:pointer}
.ov-folder:hover{border-color:var(--gs-border)}
.ov-folder[aria-pressed='true']{border-color:var(--gs-blue-action);background:var(--gs-blue-tint);color:var(--gs-blue-action)}
.ov-folder .gs-icon{width:1.05em;height:1.05em}
.ov-folder .ov-count{margin-left:0}
.ov-folder--add{border-style:dashed;color:var(--gs-blue-action)}
.ov-folder.is-drop{border:2px solid var(--gs-blue-action);background:var(--gs-blue-tint)}
body.is-dragging-piece .ov-folder:not(.ov-folder--add):not([data-folder='*']){border-style:dashed;border-color:var(--gs-blue-action)}
.ov-folder-tools{display:inline-flex;gap:var(--gs-space-3);margin-left:var(--gs-space-2)}
.ov-folder-tools button{min-height:32px;padding:0;border:0;background:none;color:var(--gs-blue-action);font:inherit;font-size:var(--gs-text-xs);font-weight:600;cursor:pointer}
.ov-folder-tools button:hover{text-decoration:underline}
.ov-folder-tools button[data-folder-do='delete']{color:var(--gs-red-action)}
.ov-in--folder{color:var(--gs-muted)}
.ov-card[draggable='true']{cursor:grab}
.ov-move{width:min(94vw,440px)}
.ov-move__list{display:flex;flex-direction:column;gap:2px;max-height:50vh;overflow:auto}
.ov-move__opt{display:flex;align-items:center;gap:var(--gs-space-2);min-height:40px;padding:0 var(--gs-space-2);border-radius:var(--gs-radius-md);cursor:pointer}
.ov-move__opt:hover{background:var(--gs-blue-tint)}
.ov-move__opt .gs-input{flex:1;min-height:36px;padding:.375rem .625rem}
@media(max-width:700px){.ov-search{max-width:none;margin-left:0}.ov-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--gs-space-4)}.ov-thumb{height:170px}}

/* Skizze eines Blatts (Vorlage oder Stück ohne Vorschaubild) */
.sk{position:relative;overflow:hidden;container-type:inline-size}
.sk-title{position:absolute;left:0;right:0;text-align:center;font-size:7.5cqw;color:#222;white-space:nowrap;overflow:hidden}
.sk-staff{position:absolute;background:repeating-linear-gradient(180deg,#9AA3AE 0 .6px,transparent .6px 25%);background-size:100% calc(100% + .6px)}
.sk-bass{position:absolute;font-size:3.6cqw;color:#444;white-space:pre}

/* Dialoge */
.ov-dialog{width:min(94vw,680px);max-height:90vh;padding:var(--gs-space-6);border:0;border-radius:var(--gs-radius-lg);box-shadow:0 24px 64px -16px rgba(10,30,60,.5)}
.ov-dialog::backdrop{background:rgba(23,38,56,.45)}
.ov-dialog h2{margin:0 0 var(--gs-space-4);font-size:1.375rem;font-weight:700}
.ov-dialog h3{margin:var(--gs-space-5) 0 var(--gs-space-2);font-size:var(--gs-text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gs-muted)}
.ov-form{display:grid;grid-template-columns:1fr 1fr;gap:var(--gs-space-3) var(--gs-space-4)}
.ov-span{grid-column:1 / -1}
.ov-form [hidden]{display:none}
.ov-note{margin:var(--gs-space-4) 0 0!important;color:var(--gs-muted);font-size:var(--gs-text-sm)}
.ov-dialog__actions{display:flex;justify-content:flex-end;gap:var(--gs-space-2);margin-top:var(--gs-space-6)}
.ov-templates{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:var(--gs-space-3)}
.ov-tpl{display:flex;flex-direction:column;gap:6px;padding:var(--gs-space-2);border:2px solid var(--gs-line);border-radius:var(--gs-radius-md);cursor:pointer}
.ov-tpl:has(input:checked){border-color:var(--gs-blue-action);background:var(--gs-blue-tint)}
.ov-tpl input{position:absolute;opacity:0;pointer-events:none}
.ov-tpl:has(input:focus-visible){outline:3px solid var(--gs-focus);outline-offset:2px}
.ov-tpl__thumb{display:block;height:120px;overflow:hidden;background:#EEF2F7;border-radius:4px}
.ov-tpl__thumb .sk,.ov-tpl__thumb img{display:block;width:100%;height:auto;background:#FFF}
.ov-tpl__name{font-size:var(--gs-text-xs);font-weight:600;line-height:1.3}
@media(max-width:560px){.ov-form{grid-template-columns:minmax(0,1fr)}}

/* Meldung */
.toast{position:fixed;left:50%;bottom:var(--gs-space-6);z-index:45;max-width:min(92vw,440px);padding:var(--gs-space-3) var(--gs-space-5);border-radius:var(--gs-radius-md);background:var(--gs-ink);color:#F4F7FB;font-size:var(--gs-text-sm);text-align:center;transform:translate(-50%,16px);opacity:0;pointer-events:none;transition:opacity 140ms,transform 140ms}
.toast[data-show='true']{opacity:1;transform:translate(-50%,0)}

/* ---------- Konto ---------- */
.kt-login h2{margin:0 0 var(--gs-space-3)}
.kt-login>div:not([hidden]),.kt-login>form:not([hidden]){display:flex;flex-wrap:wrap;align-items:center;gap:var(--gs-space-3) var(--gs-space-6)}
.kt-login [hidden]{display:none!important}
.kt-login p{flex:1;min-width:260px;margin:0!important}
.kt-form>p{flex-basis:100%}
.kt-form__row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--gs-space-3);width:100%}
.kt-form__row .gs-field{flex:1;min-width:240px;margin:0}
.kt-msg:empty{display:none}
.kt-msg[data-tone='ok']{color:var(--gs-success)}
.kt-msg[data-tone='error']{color:var(--gs-red-action)}
.kt-stufe{margin:var(--gs-space-2) 0 var(--gs-space-1)!important;font-size:1.5rem;font-weight:700}
.kt-stufe__bis{margin:0 0 var(--gs-space-4)!important;color:var(--gs-muted);font-size:var(--gs-text-sm)}
#stufe [hidden]{display:none!important}
.kt-newsletter{flex-basis:100%;margin:0;font-size:var(--gs-text-sm);color:var(--gs-muted)}
/* Anmelde-Baustein (konto/anmeldung.js) */
.kt-login>.an:not([hidden]){display:block;max-width:440px}
.an-tabs{display:flex;gap:2px;margin-bottom:var(--gs-space-4);padding:3px;border-radius:10px;background:var(--gs-disabled-bg)}
.an-tabs button{flex:1;min-height:38px;border:0;border-radius:var(--gs-radius-md);background:none;color:var(--gs-text);font:inherit;font-weight:600;cursor:pointer}
.an-tabs button[aria-selected='true']{background:var(--gs-surface);box-shadow:0 1px 3px rgba(23,38,56,.15);color:var(--gs-blue-action)}
.an-form{display:grid;gap:var(--gs-space-3)}
.an-form .gs-field{margin:0}
.an-form .an-submit{justify-self:start;min-width:180px}
.an-intro{margin:0!important;color:var(--gs-muted)}
.an-intro strong{color:var(--gs-text)}
.an-newsletter{margin:0;font-size:var(--gs-text-sm);color:var(--gs-muted)}
.an-msg{margin:0!important;font-size:var(--gs-text-sm)}
.an-msg:empty{display:none}
.an-msg[data-tone='ok']{color:var(--gs-success)}
.an-msg[data-tone='error']{color:var(--gs-red-action)}
.an-alt{margin:0!important;color:var(--gs-muted);font-size:var(--gs-text-sm)}
.an-link{padding:0;border:0;background:none;color:var(--gs-blue-action);font:inherit;font-weight:600;cursor:pointer}
.an-link:hover{text-decoration:underline}
.an-code{max-width:220px;font-size:1.375rem;letter-spacing:.3em;font-variant-numeric:tabular-nums}
.an-vorher{color:var(--gs-muted)}
.kt-pw{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--gs-space-3);margin-top:var(--gs-space-4)}
.kt-pw .gs-field{flex:1;min-width:200px;margin:0}
.kt-cloud[hidden],#einstellungen[hidden]{display:none}
.kt-cloud .offline{margin:var(--gs-space-2) 0 var(--gs-space-3)}
.kt-cloud>p:empty{display:none}
.kt-delete{margin-top:var(--gs-space-5);padding-top:var(--gs-space-4);border-top:1px solid var(--gs-line)}
.kt-delete summary{cursor:pointer;color:var(--gs-red-action);font-weight:600;font-size:var(--gs-text-sm)}
.kt-delete p{margin:var(--gs-space-3) 0!important;color:var(--gs-muted);font-size:var(--gs-text-sm)}
.kt-data{display:grid;gap:0;margin:var(--gs-space-3) 0}
.kt-data div{display:flex;justify-content:space-between;gap:var(--gs-space-4);padding:var(--gs-space-2) 0;border-bottom:1px solid var(--gs-line)}
.kt-data dt{color:var(--gs-muted)}
.kt-data dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}

/* ---------- Scannen (intern, app/scan.js) ---------- */
.sc-dialog{width:min(94vw,760px)}
.sc-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:var(--gs-space-4)}
.sc-head h2{margin:0!important}
.sc-tag{margin-left:8px;padding:2px 8px;border-radius:999px;background:#F5F0FD;color:#4B2C93;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;vertical-align:middle}
.sc-close{width:36px;height:36px;border:1px solid var(--gs-line);border-radius:50%;background:#FFF;color:var(--gs-muted);font-size:.9rem;cursor:pointer}
.sc-close:hover{color:var(--gs-text);border-color:var(--gs-text)}
.sc-sources{display:grid;grid-template-columns:1fr 1fr;gap:var(--gs-space-4)}
.sc-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:var(--gs-space-4);border:1px solid var(--gs-line);border-radius:var(--gs-radius-lg);background:#FFF;text-align:center}
.sc-card h3{margin:0!important}
.sc-card p{margin:0;font-size:var(--gs-text-sm);color:var(--gs-muted);line-height:1.4}
.sc-qr{width:168px;height:168px;border-radius:8px;background:#F4F2EE}
.sc-phone{font-size:.75rem;color:var(--gs-blue-action);word-break:break-all}
.sc-drop{justify-content:center;border-style:dashed;transition:background .15s,border-color .15s}
.sc-drop.is-over{border-color:var(--gs-blue-action);background:var(--gs-blue-tint)}
.sc-drop svg{width:40px;height:40px;fill:none;stroke:var(--gs-muted);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sc-count{margin-left:4px;color:var(--gs-text)}
.sc-pages{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:var(--gs-space-3)}
.sc-page{position:relative;margin:0;display:flex;flex-direction:column;gap:4px}
.sc-page img,.sc-pdf{width:100%;aspect-ratio:3/4;object-fit:cover;border:1px solid var(--gs-line);border-radius:8px;background:#FFF}
.sc-pdf{display:grid;place-items:center;font-weight:800;color:#C0392B}
.sc-page figcaption{font-size:.6875rem;color:var(--gs-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sc-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;border:0;border-radius:50%;background:rgba(20,32,46,.75);color:#FFF;font-size:.7rem;cursor:pointer}
.sc-empty{margin:0;font-size:var(--gs-text-sm);color:var(--gs-muted)}
.sc-key{display:flex;align-items:flex-end;gap:var(--gs-space-3);margin-top:var(--gs-space-4)}
.sc-key .gs-field{flex:1}
.sc-error{margin:var(--gs-space-4) 0 0;padding:10px 12px;border-radius:var(--gs-radius-md);background:#FDECEA;color:#8A2A1E;font-size:var(--gs-text-sm)}
.sc-busy{display:flex;flex-direction:column;align-items:center;gap:6px;padding:var(--gs-space-8) 0;text-align:center}
.sc-busy p{margin:0}
.sc-spinner{width:40px;height:40px;margin-bottom:8px;border:4px solid var(--gs-line);border-top-color:var(--gs-blue-action);border-radius:50%;animation:sc-spin .9s linear infinite}
@keyframes sc-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.sc-spinner{animation-duration:3s}}
.sc-facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 16px;margin:0;font-size:var(--gs-text-sm)}
.sc-facts dt{color:var(--gs-muted)}
.sc-facts dd{margin:0}
.sc-warn{margin:0;padding-left:18px;font-size:var(--gs-text-sm);line-height:1.5;color:#7A3D10}
.sc-remarks{margin:0;font-size:var(--gs-text-sm);color:var(--gs-text);white-space:pre-line}
.sc-options [hidden]{display:none}
@media(max-width:620px){.sc-sources{grid-template-columns:minmax(0,1fr)}.sc-key{flex-direction:column;align-items:stretch}}
.sc-dialog [hidden]{display:none!important}

/* Eigene Rückfragen (dialoge.js) statt confirm/prompt/alert */
.gs-ask{width:min(92vw,440px);padding:var(--gs-space-6);border:0;border-radius:var(--gs-radius-lg);background:var(--gs-surface);color:var(--gs-text);box-shadow:0 24px 64px -16px rgba(10,30,60,.5)}
.gs-ask::backdrop{background:rgba(23,38,56,.45)}
.gs-ask__text p{margin:0 0 var(--gs-space-3);line-height:1.5}
.gs-ask__text p:last-child{margin-bottom:0}
.gs-ask__actions{display:flex;justify-content:flex-end;gap:var(--gs-space-2);margin-top:var(--gs-space-5)}
