:root{color-scheme:dark;--bg:#07101b;--panel:#192431;--panel-strong:#202d3a;--line:rgba(190,211,235,.2);--text:#f3f7fc;--muted:#a8b6c7;--accent:#55a7ff;--danger:#ff6b76;--radius:5px;font-family:Inter,Segoe UI,system-ui,sans-serif}
*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:var(--text);background:#07101b;background-image:linear-gradient(180deg,rgba(2,7,15,.36),rgba(2,7,15,.12)),var(--wallpaper,none);background-size:cover;background-position:center;background-attachment:fixed}button,input,select{font:inherit;color:inherit}button{cursor:pointer}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.login-page{display:grid;place-items:center;padding:24px;background-image:linear-gradient(145deg,rgba(4,11,22,.35),rgba(4,11,22,.8)),url("/assets/wallpapers/terry-blue-v1.png")}.login-card{width:min(420px,100%);padding:34px;background:rgba(12,21,32,.88);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 24px 70px rgba(0,0,0,.45);backdrop-filter:blur(16px)}.login-brand{display:flex;align-items:center;gap:16px;margin:0 0 18px}.login-mark{display:block;width:58px;height:58px;object-fit:contain}.login-logo{display:block;width:176px;height:auto;object-fit:contain}.login-claim{margin:14px 0 5px;font-size:.98rem;line-height:1.35}.login-claim em{color:var(--accent)}.login-description{margin:0;line-height:1.5}.login-card h1{margin:.2rem 0 .4rem;font-size:2rem}.eyebrow{margin:0;color:var(--accent);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}.stack{display:grid;gap:18px;margin-top:24px}.stack label,.dialog-form label{display:grid;gap:7px;font-size:.9rem}.notice{padding:10px 12px;margin-top:18px;border-radius:var(--radius)}.notice--error{color:#ffd8dc;background:rgba(130,24,38,.45);border:1px solid rgba(255,107,118,.4)}
input,select{min-height:42px;padding:0 13px;background:rgba(17,29,41,.86);border:1px solid var(--line);border-radius:var(--radius);outline:none}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent)}
.topbar{display:grid;grid-template-columns:190px minmax(300px,1fr) auto;align-items:start;gap:28px;padding:21px 26px}.identity{display:flex;align-items:center;gap:9px}.identity-copy{display:grid;gap:3px}.app-mark{display:block;width:40px;height:40px;object-fit:contain}.identity select{appearance:none;padding:0;border:0;background:transparent;font-size:1.18rem;font-weight:750;width:max-content;min-height:auto}.identity .muted{font-size:.78rem}.search input{width:100%;height:44px;background:rgba(15,27,39,.82);backdrop-filter:blur(10px)}.top-actions{display:flex;align-items:center;height:44px;justify-self:end;gap:8px}.top-actions form{margin:0}.icon-action{display:grid;place-items:center;width:36px;height:36px;padding:0;background:rgba(6,13,22,.22);border:1px solid var(--line);border-radius:var(--radius)}.icon-action:hover,.icon-action:focus-visible{border-color:var(--accent);background:rgba(22,43,64,.32)}svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.content{padding:34px 26px 80px}.status{min-height:24px}.groups{display:grid}.group{padding:0 0 14px;margin-bottom:18px}.group.dragging,.tile.dragging{opacity:.4}.group-header{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:16px}.group-heading,.group-actions{display:flex;align-items:center;gap:12px}.drag-handle{color:var(--muted);cursor:grab;letter-spacing:-4px}.group-toggle{display:flex;align-items:center;gap:8px;padding:8px 0;border:0;background:transparent;font-size:1.08rem;font-weight:750}.chevron{color:var(--accent);width:14px}.group.collapsed .chevron{transform:rotate(-90deg)}.group.collapsed .tiles{display:none}.shared-badge{padding:3px 6px;border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);font-size:.7rem}.subtle-action{display:grid;place-items:center;width:32px;height:32px;padding:0;color:#bdc9d8;border:1px solid transparent;border-radius:var(--radius);background:transparent}.subtle-action:hover,.subtle-action:focus-visible{color:#fff;border-color:var(--line);background:rgba(13,23,34,.28)}.subtle-action[hidden]{display:none}.tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;padding:6px 0 2px}.tile{position:relative;display:grid;grid-template-columns:38px 1fr auto;align-items:start;gap:12px;min-height:64px;padding:12px;background:rgba(20,32,45,.56);border:1px solid rgba(190,211,235,.22);border-radius:var(--radius);box-shadow:0 10px 28px rgba(0,0,0,.16);backdrop-filter:blur(6px)}.tile:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}.tile-link{grid-column:1/3;display:grid;grid-template-columns:38px 1fr;align-items:start;gap:12px;color:inherit;text-decoration:none}.tile-actions{grid-column:3;align-self:start;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.tile-icon{display:grid;place-items:center;width:38px;height:38px;background:color-mix(in srgb,var(--accent) 18%,#172331);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:var(--radius);font-size:.92rem}.tile-icon img{display:block;width:100%;height:100%;object-fit:cover;border-radius:3px}.tile-title{font-size:.75rem;font-weight:600;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.tile-edit{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;background:transparent;color:var(--muted);border-radius:var(--radius)}.tile-edit:hover{color:#fff;background:rgba(255,255,255,.06)}.tile-edit[hidden],.tile-pin[hidden]{display:none}
.tile-pin{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;background:transparent;color:var(--muted);border-radius:var(--radius);font-size:.85rem;opacity:0}.tile-pin.is-pinned{color:var(--accent);opacity:.9}.tile:hover .tile-pin,.tile:focus-within .tile-pin{opacity:1}.tile-pin:hover{color:#fff;background:rgba(255,255,255,.06)}
.tile:hover,.tile:focus-within{z-index:5}.tile-info{position:absolute;left:0;right:0;top:calc(100% + 6px);padding:10px 12px;background:#111d29;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 16px 40px rgba(0,0,0,.5);font-size:.78rem;line-height:1.45;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s,visibility 0s .12s}.tile:hover .tile-info,.tile:focus-within .tile-info{opacity:1;visibility:visible;transition:opacity .15s .35s,visibility 0s .35s}.tile-info p{margin:0}.tile-info[hidden],.tile-info p[hidden]{display:none}.tile-desc{color:var(--text);overflow-wrap:anywhere}.tile-desc+.tile-labels{margin-top:8px}.tile-labels{display:flex;flex-wrap:wrap;gap:5px}.tile-labels span{padding:1px 6px;color:var(--muted);border:1px solid var(--line);border-radius:var(--radius);font-size:.68rem}.pinned-group .group-name::before{content:"★ ";color:var(--accent)}.drag-handle[hidden]{display:none}.dialog-form textarea{padding:10px 13px;min-height:72px;resize:vertical;background:rgba(17,29,41,.86);border:1px solid var(--line);border-radius:var(--radius);outline:none}.dialog-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent)}.dialog-form label.check{display:flex;align-items:center;gap:10px}.dialog-form label.check input{min-height:auto;width:auto}.empty{padding:18px 0;color:var(--muted)}
dialog{width:min(520px,calc(100% - 32px));padding:0;color:var(--text);background:#111d29;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 28px 90px rgba(0,0,0,.65)}dialog::backdrop{background:rgba(0,5,12,.72);backdrop-filter:blur(5px)}.dialog-form{display:grid;gap:17px;padding:22px}.dialog-form>header,.dialog-form>footer{display:flex;align-items:center;gap:10px}.dialog-form>header{justify-content:space-between}.dialog-form h2{margin:0;font-size:1.22rem}.dialog-form footer{margin-top:5px}.close-button{width:34px;height:34px;border:0;background:transparent;color:var(--muted);font-size:1.5rem}.spacer{flex:1}.button{min-height:40px;padding:0 15px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(27,40,53,.9)}.button--primary{background:color-mix(in srgb,var(--accent) 68%,#102033);border-color:var(--accent)}.button--danger{color:#ffd9dc;border-color:rgba(255,107,118,.4);background:rgba(110,22,35,.35)}.share-targets{display:grid;gap:9px}.share-targets label{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:var(--radius)}.share-targets input{min-height:auto}
@media(max-width:1500px){.tiles{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:1200px){.tiles{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:980px){.tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.topbar{grid-template-columns:1fr auto;gap:16px}.identity{grid-column:1}.top-actions{grid-column:2;grid-row:1}.search{grid-column:1/-1;grid-row:2}.content{padding-top:16px}.tiles{grid-template-columns:repeat(auto-fill,minmax(155px,1fr))}.icon-action{width:34px;height:34px}.group-header{align-items:flex-start}.group-actions{gap:2px}}
@media(prefers-reduced-motion:no-preference){.tile,.icon-action,.subtle-action{transition:.16s ease}}
a.button,a.icon-action{display:inline-grid;place-items:center;text-decoration:none;color:inherit}a.button{display:inline-flex;align-items:center}
.app-mark-link{display:inline-flex}.identity-copy strong{display:block}
.library-bar{display:flex;align-items:center;gap:16px;margin-bottom:14px}.library-bar select{max-width:340px}
.library-list{display:grid;gap:2px}
.library-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,1.6fr) minmax(0,1fr);gap:16px;align-items:center;padding:7px 12px;background:rgba(25,36,49,.72);border-radius:var(--radius)}
.library-row a{color:var(--text);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-row a:hover{color:var(--accent)}
.library-url,.library-folder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem}
.library-more{margin:14px 0}#importResult{white-space:pre-line}
@media(max-width:760px){.library-row{grid-template-columns:1fr}}
.share-fieldset{margin:0;padding:0;border:0}.share-fieldset legend{margin:0 0 6px;padding:0;color:var(--muted);font-size:.9rem}
.library-bar .spacer{flex:1}.library-selectall{white-space:nowrap}.library-pick{min-height:auto;width:18px;height:18px}
.library-row{grid-template-columns:28px minmax(180px,1fr) minmax(0,1.6fr) minmax(0,1fr)}.library-row.is-on-page{opacity:.55}
#adoptMessage{min-height:22px;margin:0 0 10px}#linkError:empty{display:none}
@media(max-width:760px){.library-row{grid-template-columns:28px 1fr}}
.library-selectall{display:inline-flex;align-items:center;gap:8px}.library-selectall input{min-height:auto;width:18px;height:18px}
.dialog-form [hidden]{display:none}
.translator{margin-bottom:22px;padding:12px;background:rgba(20,32,45,.56);border:1px solid rgba(190,211,235,.22);border-radius:var(--radius);backdrop-filter:blur(6px)}.translator-bar{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}.translator-bar .spacer{flex:1}.translator-info{font-size:.82rem}
.translator-panes{display:grid;grid-template-columns:1fr 1fr;gap:12px}.translator textarea{width:100%;min-height:96px;resize:vertical;padding:10px 12px;color:inherit;font:inherit;background:rgba(13,23,34,.45);border:1px solid var(--line);border-radius:var(--radius)}.translator textarea:focus{outline:1px solid var(--accent)}
@media(max-width:760px){.translator-panes{grid-template-columns:1fr}}
.search-area{display:flex;align-items:center;gap:10px}.search-area .search{flex:0 1 460px;min-width:0;margin-left:auto}
#translateToggle.is-open{color:#fff;border-color:var(--accent)}
.translator[hidden]{display:none}
@media(max-width:760px){.search-area{grid-column:1/-1;grid-row:2}}

.tile-text{display:grid;gap:3px;min-width:0}.tile-sub{font-size:.7rem;line-height:1.3;color:var(--muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}

#linkDialog{width:min(900px,calc(100% - 32px))}
.dialog-form--wide{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 18px;padding:20px 22px;align-items:start}
.dialog-form--wide .span2{grid-column:1/-1}
.dialog-form--wide>label,.dialog-form--wide>.field{grid-column:span 2}
.dialog-form--wide>.q{grid-column:span 1}
.dialog-form--wide input[type=file]{min-width:0;width:100%;font-size:.78rem;padding:6px 8px}
.dialog-form .field{display:grid;gap:7px;font-size:.9rem}
.dialog-form--wide textarea{min-height:44px}
.dialog-form--wide>footer label.check{margin-right:6px}
.multi{position:relative}
.multi summary{display:flex;align-items:center;min-height:42px;padding:0 13px;cursor:pointer;list-style:none;background:rgba(17,29,41,.86);border:1px solid var(--line);border-radius:var(--radius);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.multi summary::-webkit-details-marker{display:none}
.multi[open] summary{border-color:var(--accent)}
.multi-list{position:absolute;left:0;right:0;bottom:calc(100% + 4px);z-index:20;display:grid;gap:2px;padding:6px;background:#162536;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 32px rgba(0,0,0,.5)}
.multi-list label{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius);cursor:pointer}
.multi-list label:hover{background:rgba(255,255,255,.06)}
.multi-list input{min-height:auto;width:auto}
@media(max-width:760px){.dialog-form--wide{grid-template-columns:1fr 1fr}.dialog-form--wide>.q{grid-column:span 1}}
@media(max-width:520px){.dialog-form--wide{grid-template-columns:1fr}.dialog-form--wide>label,.dialog-form--wide>.field,.dialog-form--wide>.q{grid-column:1/-1}}

.topbar{position:sticky;top:0;z-index:50;background:linear-gradient(180deg,rgba(7,16,27,0),rgba(7,16,27,0));transition:background .2s ease}
.topbar.is-stuck{background:linear-gradient(180deg,rgba(7,16,27,.92) 0,rgba(7,16,27,.92) 70%,rgba(7,16,27,0))}
.tile-edit,.tile-pin{width:18px;height:15px}.tile-edit{font-size:.78rem}.tile-pin{font-size:.78rem;opacity:.5}.tile-pin.is-pinned{opacity:1}
#settingsDialog{width:min(620px,calc(100% - 32px))}
.settings-section{display:grid;gap:14px;padding-top:4px}.settings-section+.settings-section{padding-top:16px;border-top:1px solid var(--line)}
.settings-section h3{margin:0;font-size:1rem}.settings-section h3 small{margin-left:8px;font-weight:400}
.swatches{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.swatch-list{display:flex;gap:8px;flex-wrap:wrap}
.swatch{width:28px;height:28px;padding:0;border-radius:50%;border:2px solid transparent;cursor:pointer;box-shadow:0 0 0 1px rgba(255,255,255,.25)}
.swatch[aria-pressed=true]{border-color:#fff}
#accentColor{width:38px;height:30px;padding:0;border:1px solid var(--line);border-radius:var(--radius);background:transparent;cursor:pointer}
.wallpapers{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;max-height:104px;overflow-y:auto;padding:3px}
.wallpaper{aspect-ratio:16/9;padding:0;border:2px solid var(--line);border-radius:var(--radius);background-size:cover;background-position:center;cursor:pointer}
.wallpaper[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent)}
.upload-button{justify-self:start;cursor:pointer}
.settings-actions{display:flex;gap:10px;flex-wrap:wrap}.settings-actions .button{text-decoration:none;display:inline-flex;align-items:center}

/* Abschnitt als dezent umrahmte Einheit: Symbole (+, Teilen, Bearbeiten) gehören sichtbar zu ihrem Abschnitt */
.group{margin-bottom:9px;padding:0 14px 14px;border:1px solid rgba(255,255,255,.11);border-radius:12px;background:rgba(6,12,26,.56)}
.group.collapsed{padding-bottom:0}

/* Link-Dialog: Hinweis zum automatischen Abruf von Titel, Beschreibung und Icon */
.link-note{display:flex;align-items:center;gap:8px;min-height:20px}
.link-note img{width:20px;height:20px;border-radius:4px;object-fit:cover}
/* Einstellung "Kacheln pro Zeile" (nur Desktop; schmale Fenster behalten die automatische Anpassung) */
.density-list{display:flex;flex-wrap:wrap;gap:8px}
.density-list .button[aria-pressed="true"]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
@media(min-width:981px){
html[data-cols="4"] .tiles{grid-template-columns:repeat(4,minmax(0,1fr))}
html[data-cols="5"] .tiles{grid-template-columns:repeat(5,minmax(0,1fr))}
html[data-cols="6"] .tiles{grid-template-columns:repeat(6,minmax(0,1fr))}
html[data-cols="7"] .tiles{grid-template-columns:repeat(7,minmax(0,1fr))}
html[data-cols="8"] .tiles{grid-template-columns:repeat(8,minmax(0,1fr))}
}
/* Bild-Icons ohne Rahmen und Hintergrund, damit Logos sauber stehen */
.tile-icon.has-image{background:none;border:0;border-radius:0}
.tile-icon.has-image img{border-radius:6px}

/* Websuche links neben der Link-Suche */
.web-search{flex:0 1 460px;min-width:0;margin-left:0}
.web-search label{display:block}
.search-area .search:not(.web-search){margin-left:auto}
@media(max-width:760px){.search-area{flex-wrap:wrap}.web-search,.search-area .search:not(.web-search){flex:1 1 100%;margin-left:0}}
/* Suchmaschine: Knopf im Feld öffnet ein kleines Auswahlfenster */
.web-search{position:relative;display:block}
.web-search label{display:block}
.web-search input{padding-right:44px}
.web-search input::-webkit-search-cancel-button{display:none}
.engine-button{position:absolute;top:50%;right:6px;transform:translateY(-50%);width:32px;height:32px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted,#8fa3b8);font-size:1.15rem;line-height:1;cursor:pointer}
.engine-button:hover,.engine-button[aria-expanded="true"]{background:rgba(255,255,255,.08);color:var(--text,#e8eef5)}
.engine-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:60;min-width:200px;margin:0;padding:6px;list-style:none;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(10,18,30,.97);box-shadow:0 12px 32px rgba(0,0,0,.5)}
.engine-menu[hidden]{display:none}
.engine-menu button{display:block;width:100%;padding:9px 12px;border:0;border-radius:8px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.engine-menu button:hover,.engine-menu button:focus-visible{background:rgba(255,255,255,.08);outline:0}
.engine-menu button[aria-selected="true"]{color:var(--accent);font-weight:700}
.engine-menu button[aria-selected="true"]::after{content:" ✓"}

/* Handy: Hamburger-Menü statt fünf Symbolen nebeneinander; nichts darf über den Rand hinausragen */
.menu-button{display:none}
.topbar>*,.search-area,.identity-copy{min-width:0}
@media(max-width:760px){
.topbar{grid-template-columns:minmax(0,1fr) auto;align-items:center}
.menu-button{display:inline-grid;grid-column:2;grid-row:1}
.top-actions{display:none;position:fixed;inset:0;justify-self:stretch;width:auto;z-index:90;height:auto;overflow-y:auto;padding:13px;border:0;border-radius:0;background:rgba(7,16,27,.98)}
.topbar.menu-open .top-actions{display:grid;align-content:start;gap:6px}
.menu-head{display:flex;align-items:center;justify-content:space-between;min-height:44px;margin-bottom:6px;padding:0 4px 0 12px;font-size:1.25rem}
.menu-head .close-button{width:44px;height:44px}
.top-actions form{display:block}
.top-actions .icon-action{display:flex;align-items:center;justify-content:flex-start;gap:16px;width:100%;height:auto;min-height:56px;padding:10px 14px;border-radius:5px;border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.04)}
.top-actions .icon-action:hover,.top-actions .icon-action:focus-visible{background:rgba(255,255,255,.08)}
.top-actions .icon-action svg{flex:0 0 22px;width:22px;height:22px}
.top-actions .icon-action::after{content:attr(aria-label);font-size:1.05rem;font-weight:600}
}
.menu-head{display:none}
@media(max-width:760px){.menu-head{display:flex}}
@media(max-width:760px){
dialog{overflow-x:hidden}
.dialog-form{min-width:0}
.dialog-form input[type=file]{width:100%;min-width:0;max-width:100%}
.dialog-form>label,.dialog-form>.field{min-width:0}
}
@media(max-width:760px){.dialog-form--wide{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.dialog-form--wide{grid-template-columns:minmax(0,1fr)}}

/* Handy: Übersetzer aufgeräumt, Schließen-Knopf, Sprachen gleich breit, Übersetzen unter dem Text, Kopieren unter der Übersetzung */
.translator-head{display:none}
@media(max-width:760px){
.translator{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px}
.translator[hidden]{display:none}
.translator-head{display:flex;grid-column:1/-1;align-items:center;justify-content:space-between}
.translator-bar,.translator-panes{display:contents}
.translator-bar .spacer{display:none}
#translateSource,#translateTarget{width:100%;min-width:0;font-size:.92rem}
#translateSource{grid-column:1;grid-row:2}
#translateTarget{grid-column:3;grid-row:2}
#translateSwap{grid-column:2;grid-row:2}
#translateInput{grid-column:1/-1;grid-row:3}
#translateGo{grid-column:1/-1;grid-row:4;width:100%;display:inline-flex}
.translator-hint{display:none}
#translateOutput{grid-column:1/-1;grid-row:5}
#translateCopy{grid-column:1/-1;grid-row:6;width:100%}
#translateInfo{grid-column:1/-1;grid-row:7;margin:0}
#translateInfo:empty{display:none}
}

/* Rechner und Währungsumrechnung: Felder nutzen die volle Breite */
.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.calc-card{display:grid;align-content:start;gap:10px;padding:12px;background:rgba(13,23,34,.45);border:1px solid var(--line);border-radius:var(--radius)}
.calc-label{font-size:.82rem;font-weight:700;color:var(--muted,#8fa3b8)}
.calc-card input[type=text],.calc-card select{width:100%;min-width:0}
.calc-card small{line-height:1.35}
.calc-result-wrap{position:relative}
.calc-eq{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:1.2rem;font-weight:700;color:var(--muted,#8fa3b8);pointer-events:none}
.calc-result-wrap .calc-result-field{padding-left:38px}
.calc-card .calc-result-field{font-weight:700;cursor:default}
.fx-line{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
.fx-swap{display:flex;align-items:center;justify-content:center;gap:10px;width:100%}
.fx-swap svg{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:760px){
.translator.calculator{grid-template-columns:minmax(0,1fr)}
.calc-grid{grid-column:1/-1;grid-template-columns:minmax(0,1fr)}
.fx-line select{font-size:.92rem}
.calc-card .button{width:100%}
}

/* Deaktivierte Knöpfe (z. B. Kopieren ohne Ergebnis) sichtbar abgedunkelt */
.button:disabled{opacity:.45;cursor:not-allowed}

/* Rechnen: Eingabe und Ergebnis nebeneinander, gleiches Raster wie die Währungszeilen */
.calc-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}

/* Handy: halber Seitenrand (13 statt 26 px), Leiste und Inhalt bleiben bündig */
@media(max-width:760px){
.topbar{padding-left:13px;padding-right:13px}
.content{padding-left:13px;padding-right:13px}
}

/* Handy: auch die Anmeldeseite mit halbem Seitenrand */
@media(max-width:760px){.login-page{padding-left:13px;padding-right:13px}}

/* Handy: Hinweis zum Kurs bleibt in einer Zeile, die Schrift passt sich der Breite an */
@media(max-width:760px){#fxInfo{font-size:clamp(.68rem,3vw,.83rem)}}

/* Suchmaschinen-Knopf: Pfeil als Zeichnung, mittig im Feld */
.engine-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* Handy bis 520 px: eine Kachel pro Zeile, damit die Titel lesbar bleiben */
@media(max-width:520px){.tiles{grid-template-columns:minmax(0,1fr)}}

/* Gleicher Randradius wie Rechner und Übersetzer; kleinere, einheitliche Abstände zwischen Leiste, Panels und Kategorien */
.group{border-radius:var(--radius)}
.topbar{padding-bottom:8px}
.content{padding-top:4px}
.translator{margin-bottom:12px}
.status{min-height:0}
.status:empty{display:none}
/* Pfeil neben dem Abschnittstitel als Zeichnung, mittig zur Schrift */
.chevron{display:inline-block;position:relative;width:14px;height:14px;font-size:0;flex:0 0 14px}
.chevron::before{content:"";position:absolute;left:3px;top:2px;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}

/* Handy bis 520 px: größere, besser lesbare Schrift in den Kacheln (eine Kachel pro Zeile bietet den Platz) */
@media(max-width:520px){
.tile-title{font-size:.95rem}
.tile-sub{font-size:.82rem}
}

/* Handy bis 520 px: Stift und Stern größer, ohne dass die Kachel höher wird (2 x 19 px = Inhaltshöhe der Kachel) */
@media(max-width:520px){
.tile-actions{gap:0}
.tile-edit,.tile-pin{width:30px;height:19px;font-size:1.1rem;line-height:1}
}

/* Handy bis 520 px: Dialog-Knöpfe untereinander in voller Breite (Anpinnen, Speichern, Abbrechen, Löschen) */
@media(max-width:520px){
.dialog-form>footer{flex-direction:column;align-items:stretch;gap:10px}
.dialog-form>footer .spacer{display:none}
.dialog-form>footer .button,.dialog-form>footer .check{width:100%;margin-right:0}
.dialog-form>footer .button{justify-content:center}
.dialog-form>footer .check{order:1}
.dialog-form>footer .button--primary{order:2}
.dialog-form>footer [data-close]{order:3}
.dialog-form>footer .button--danger{order:4}
}

/* Einstellungen: Farbwahl als Knopf mit Auswahlfenster */
.accent-picker{position:relative}
.accent-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:44px;font-weight:700;border-color:rgba(255,255,255,.3)}
.accent-button::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .15s}
.accent-button[aria-expanded="true"]::after{transform:translateY(2px) rotate(-135deg)}
.accent-popup{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;display:grid;gap:12px;padding:12px;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);background:rgba(10,18,30,.98);box-shadow:0 12px 32px rgba(0,0,0,.5)}
.accent-popup[hidden]{display:none}
.accent-popup .swatch-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;justify-items:center}
.accent-popup .swatch{width:36px;height:36px}
.accent-custom{display:flex;align-items:center;justify-content:space-between;gap:12px}
.accent-custom input{width:56px;height:36px;padding:2px;cursor:pointer}
/* Die Auswahl „Kacheln pro Zeile“ wirkt erst ab Desktop-Breite; darunter blenden wir sie aus */
@media(max-width:980px){.settings-display{display:none}}
/* Handy bis 520 px: Einstellungen sauber in voller Breite */
@media(max-width:520px){
.wallpapers{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.upload-button{display:flex;align-items:center;justify-content:center;justify-self:stretch;width:100%;min-height:44px;text-align:center}
.settings-actions{display:grid;grid-template-columns:minmax(0,1fr)}
.settings-actions .button{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;text-align:center}
.dialog-form .close-button:focus-visible{outline:none;box-shadow:none}
}

/* KI-Vorschläge: Knopf im Link-Dialog und Einstellungen (Anbieter, Modellsuche, Schlüssel) */
.ai-row{display:flex;align-items:center;gap:10px;min-width:0}
.ai-row .button{flex:none;min-height:36px;padding:0 13px}
.ai-row small{flex:1;min-width:0;line-height:1.35}
.ai-row .ai-label{flex:none;color:var(--muted);font-size:.9rem}
.ai-row .button[hidden]{display:none}
.settings-section[hidden]{display:none}
/* Einstellungen am Desktop in zwei Spalten (links Darstellung und Anzeige, rechts KI und Konto), damit nichts gescrollt werden muss */
#settingsDialog{width:min(920px,calc(100% - 32px))}
#settingsDialog .close-button{margin-right:-12px}
.settings-cols{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:17px 28px;align-items:start}
.settings-col{display:grid;gap:16px;min-width:0}
.settings-col--side{padding-left:28px;border-left:1px solid var(--line)}
/* Die Breite der rechten Spalte bestimmen allein die drei KI-Knöpfe; Felder, Konto-Knöpfe und Abbrechen/Speichern füllen sie bündig aus */
.settings-col--side :is(h3,.settings-head,.field,.ai-pair,.ai-keyrow,.ai-meta,#aiNote){width:0;min-width:100%}
.settings-head{display:grid;gap:3px}.settings-head small{font-size:.8rem}.settings-head small[hidden]{display:none}#aiCost{white-space:pre-line}
.settings-cols .settings-actions{display:flex;flex-wrap:nowrap;gap:10px}
.settings-cols .settings-actions .button{flex:1 1 auto;justify-content:center;text-align:center;white-space:nowrap}
.upload-button{display:flex;align-items:center;justify-content:center;justify-self:stretch;min-height:40px;text-align:center}
.settings-col--side .settings-actions .button{padding:0 20px}
.ai-pair{position:relative;display:grid;grid-template-columns:minmax(150px,2fr) minmax(0,3fr);gap:10px}
.ai-pair select,.ai-pair input{width:100%}
.ai-keyrow{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
.ai-meta{display:grid;gap:6px}
.dialog-form .settings-footer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:6px}
.settings-footer .button{min-height:44px;justify-content:center}
.settings>.settings-footer{margin-top:0;padding-top:16px;border-top:1px solid var(--line)}
.wp-preview img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line);border-radius:var(--radius)}
#wallpaperPreview{width:min(720px,calc(100% - 32px))}
.wp-delete{justify-self:start;min-height:36px}
@media(max-width:760px){
.settings-cols{grid-template-columns:minmax(0,1fr)}.wallpapers{grid-template-columns:repeat(4,minmax(0,1fr));max-height:142px}.settings-col{gap:17px}.settings-col--side{padding-left:0;border-left:0}.settings-head-desktop{display:none}
.settings-cols .settings-actions{flex-direction:column}.settings-cols .settings-actions .button{flex:none;width:100%;min-height:44px}
}
@media(max-width:520px){.ai-row .ai-label{display:none}.ai-pair,.ai-keyrow{grid-template-columns:minmax(0,1fr)}.dialog-form .settings-footer{grid-template-columns:minmax(0,1fr)}.settings-footer .button--primary{order:-1}}
.ai-models{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;box-shadow:0 12px 32px rgba(0,0,0,.5);display:flex;flex-direction:column;max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:rgba(10,18,30,.98)}
.ai-models[hidden]{display:none}
.ai-model{display:grid;flex:none;gap:2px;width:100%;min-height:44px;padding:8px 12px;text-align:left;color:inherit;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0}
.ai-model:last-child{border-bottom:0}
.ai-model:hover,.ai-model:focus-visible{background:rgba(255,255,255,.06);outline:none}
.ai-model[aria-selected="true"]{box-shadow:inset 3px 0 0 var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}
.ai-model strong{font-size:.9rem;font-weight:650;overflow-wrap:anywhere}
.ai-model small{color:var(--muted);font-size:.74rem;overflow-wrap:anywhere}
.ai-empty{flex:none;padding:12px;color:var(--muted);font-size:.85rem}
@media(max-width:520px){.ai-row{flex-direction:column;align-items:stretch;gap:6px}.ai-row .button{min-height:44px;width:100%}}

/* Schnellleiste unter der Kopfzeile: nur Symbole, Infos beim Überfahren */
.quickbar{display:flex;flex-wrap:wrap;justify-content:center;gap:calc(var(--quick-size,30px)*.4);margin:0 0 calc(var(--quick-size,30px)*.53)}
.quickbar[hidden]{display:none}
.quick-item{position:relative;display:block;width:var(--quick-size,30px);height:var(--quick-size,30px);color:inherit;text-decoration:none;background:transparent;border:0;border-radius:var(--radius)}
.quick-item:hover,.quick-item:focus-visible{background:rgba(255,255,255,.12);box-shadow:0 0 0 4px rgba(255,255,255,.12);outline:none;z-index:60}
.quick-item.dragging{opacity:.4}
.quick-icon{display:grid;place-items:center;width:100%;height:100%;font-size:calc(var(--quick-size,30px)*.5);overflow:hidden;border-radius:var(--radius)}
.quick-icon img{display:block;width:100%;height:100%;object-fit:cover}
.quick-tip{position:absolute;left:0;top:calc(100% + 6px);width:max-content;min-width:180px;max-width:min(320px,80vw);padding:10px 12px;background:#111d29;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 16px 40px rgba(0,0,0,.5);font-size:.78rem;line-height:1.45;text-align:left;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s,visibility 0s .12s}
.quick-tip p{margin:0}.quick-tip strong{display:block;font-size:.84rem}.quick-tip .quick-sub{color:var(--muted)}.quick-tip .tile-desc,.quick-tip .tile-labels{margin-top:7px}
.quick-item:hover .quick-tip,.quick-item:focus-visible .quick-tip{opacity:1;visibility:visible;transition:opacity .15s .3s,visibility 0s .3s}
@media(hover:none){.quick-tip{display:none}}
.tile-quick{display:grid;place-items:center;width:18px;height:15px;padding:0;border:0;background:transparent;color:var(--muted);border-radius:var(--radius);opacity:.5}
.tile-quick svg{width:12px;height:12px}
.tile:hover .tile-quick,.tile:focus-within .tile-quick{opacity:1}
.tile-quick:hover{color:#fff;background:rgba(255,255,255,.06)}
.tile-quick.is-quick{color:var(--accent);opacity:1}.tile-quick[hidden]{display:none}
@media(max-width:520px){.tile-quick{width:30px;height:19px}.tile-quick svg{width:15px;height:15px}}

/* Dubletten-Warnung im Link-Dialog und Werkzeuge in den Einstellungen */
.dup-note{color:#f5c26b}
.settings-tools .field>.button{display:flex;align-items:center;justify-content:center;min-height:40px;text-decoration:none;cursor:grab}
.settings-tools .field>small{line-height:1.45}

/* Kachel wird in eine andere Kategorie gezogen: Ziel dezent hervorheben */
.group.drop-target{border-color:color-mix(in srgb,var(--accent) 70%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}

/* Eigene Bestätigung (Löschen, Ausblenden): zentriert, im Stil der Seite */
#confirmDialog{width:min(420px,calc(100% - 32px))}
#confirmDialog .dialog-form{gap:12px;padding:26px 24px 22px;text-align:center}
#confirmDialog h2{font-size:1.2rem}
#confirmDialog p{margin:0;color:var(--muted);line-height:1.5;overflow-wrap:anywhere}
#confirmDialog .settings-footer{margin-top:10px}

/* Suchmaschinen-Menü auf dem Handy: so breit wie das Suchfeld, einheitlicher Radius */
@media(max-width:760px){.engine-menu{left:0;right:0;min-width:0;border-radius:5px}.engine-menu button{border-radius:3px}}
/* Ansicht ausprobieren (nur breite Flächen): Kategorie-Überschriften zentriert, optional ohne Klapp-Pfeil. Einstellung: Anzeige > Kategorie-Überschriften */
@media(min-width:900px){
.head-center .group-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.head-center .group-heading{display:contents}
.head-center .drag-handle{grid-column:1;grid-row:1;justify-self:start}
.head-center .group-toggle{grid-column:2;grid-row:1}
.head-center .shared-badge{grid-column:3;grid-row:1;justify-self:start}
.head-center .group-actions{grid-column:3;grid-row:1;justify-self:end}
.head-center-nochev .chevron{display:none}
}
/* Unterlinks: Container-Kachel, Zähler, Liste, Ablegen-Ziel, Editor im Link-Dialog */
.tile-icon{position:relative}
.tile.nest-target{outline:2px dashed var(--accent);outline-offset:-2px;background:rgba(255,255,255,.08)}
.child-pop{position:fixed;z-index:60;min-width:220px;max-width:min(320px,92vw);max-height:70vh;overflow:auto;padding:6px;display:grid;gap:2px;background:#111d29;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 16px 40px rgba(0,0,0,.5)}
.tile.child-open .tile-info{display:none!important}
.child-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:4px;border-radius:3px}
.child-item:hover{background:rgba(255,255,255,.07)}
.child-item>a{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:center;padding:7px 8px;min-height:44px;box-sizing:border-box;color:inherit;text-decoration:none}
.child-icon{display:grid;place-items:center;width:30px;height:30px;font-size:1rem;border-radius:4px;background:rgba(255,255,255,.07);overflow:hidden}
.child-icon.has-image img{width:100%;height:100%;object-fit:cover}
.child-text{display:grid;gap:2px;min-width:0}
.child-text strong{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.child-item .subtle-action{align-self:center;min-width:44px;min-height:44px}
.child-add{min-height:44px;margin-top:2px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--muted);text-align:left;padding:0 10px}
.child-add:hover{color:inherit;background:rgba(255,255,255,.07)}
.child-list{display:grid;gap:4px;margin-bottom:8px}
.app-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:8px}
@media (max-width:560px){.app-fields{grid-template-columns:1fr}}
.child-row{display:grid;grid-template-columns:minmax(0,1fr) 44px 44px;gap:4px;align-items:center;padding-left:10px;border:1px solid var(--line);border-radius:var(--radius)}
.child-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.field[hidden],.check[hidden]{display:none}
.tile-count{position:absolute;right:-6px;top:-6px;min-width:18px;height:18px;padding:0 4px;display:grid;place-items:center;border-radius:9px;background:var(--accent);color:#06101a;font-size:.68rem;font-weight:800;line-height:1}
.tile-more{position:absolute;left:12px;bottom:1px;width:38px;height:16px;padding:0;display:grid;place-items:center;border:0;background:transparent;color:var(--muted)}
.tile-more::after{content:"";position:absolute;inset:-14px -6px -6px}
.tile-more svg{width:14px;height:14px}
.tile-more:hover,.tile-more:focus-visible,.tile.child-open .tile-more{color:var(--accent)}
.child-text small{color:var(--muted);font-size:.74rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.child-tip{position:fixed;z-index:61;width:max-content;max-width:min(300px,80vw);padding:10px 12px;background:#111d29;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 16px 40px rgba(0,0,0,.5);font-size:.78rem;line-height:1.45;pointer-events:none}
.child-tip p{margin:0}
.child-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.child-tip p+.child-chips{margin-top:8px}
.child-chips span{padding:1px 7px;border:1px solid var(--line);border-radius:10px;font-size:.68rem;color:var(--muted)}
/* Suchleisten: Google-Suche direkt rechts neben Logo, Name und Datum, Link-Suche in der Mitte */
.search-area .web-search{flex:0 1 200px}
@media(min-width:1200px){
.search-area{display:grid;grid-template-columns:minmax(150px,1fr) minmax(0,460px) minmax(150px,1fr);gap:10px}
.search-area .search:not(.web-search){grid-column:2;grid-row:1;margin:0}
.search-area .web-search{grid-column:1;grid-row:1;justify-self:start;width:100%;max-width:200px;margin:0}
}
@media(min-width:1700px){
/* Link-Suche exakt in der Seitenmitte; --identity-w und --actions-w misst app.js */
.topbar{grid-template-columns:minmax(calc(var(--identity-w,190px) + 216px),1fr) 460px minmax(calc(var(--actions-w,344px) + 12px),1fr)}
.identity{grid-column:1;grid-row:1;justify-self:start}
.search-area{display:contents}
.search-area .search:not(.web-search){grid-column:2;grid-row:1;width:100%}
.search-area .web-search{grid-column:1;grid-row:1;justify-self:start;width:200px;margin:0 0 0 calc(var(--identity-w,190px) + 16px)}
.top-actions{grid-column:3;grid-row:1}
}
#dbBackupNote.warn{color:#f0b35f}
a.button[hidden]{display:none}
/* Mehrfachauswahl */
.select-bar{position:fixed;left:50%;bottom:12px;transform:translateX(-50%);z-index:70;width:min(1120px,calc(100vw - 16px));display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;background:#111d29;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 16px 40px rgba(0,0,0,.55)}
.select-bar[hidden]{display:none}
.select-bar strong{min-width:96px;font-size:.9rem}
.select-bar select,.select-bar input{min-height:40px;max-width:190px}
.select-bar input{width:130px}
.select-bar .button{min-height:40px}
.select-bar .button:disabled,.select-bar select:disabled,.select-bar input:disabled{opacity:.45}
.select-bar #selectDone{margin-left:auto}
.icon-action.is-active{border-color:var(--accent);background:rgba(255,255,255,.12)}
.select-mode .tile{cursor:pointer}
.select-mode .tile-info{display:none!important}
.select-mode .tile-link,.select-mode .tile-actions,.select-mode .tile-more{pointer-events:none}
.tile-check{position:absolute;left:6px;top:6px;z-index:2;width:20px;height:20px;display:grid;place-items:center;border:1.5px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(6,13,22,.7);color:transparent;font-size:.8rem;font-weight:800;line-height:1}
.tile.is-selected{outline:2px solid var(--accent);outline-offset:-2px;background:rgba(255,255,255,.1)}
.tile.is-selected .tile-check{background:var(--accent);border-color:var(--accent);color:#06101a}
.group.all-selected .group-select{color:var(--accent)}
body.select-mode main{padding-bottom:96px}
@media(max-width:760px){.select-bar{bottom:6px}.select-bar select,.select-bar input,.select-bar .button{min-height:44px}.select-bar select{max-width:100%}}
/* Tote Links finden */
.check-progress{display:grid;gap:6px}
.check-progress progress{width:100%;height:8px;accent-color:var(--accent)}
.check-results{display:grid;gap:8px;max-height:52vh;overflow:auto}
.check-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.04)}
.check-badge{padding:2px 8px;border-radius:10px;font-size:.7rem;font-weight:700;background:rgba(255,255,255,.1)}
.check-dead .check-badge{background:#7a2530;color:#ffd9de}
.check-moved .check-badge{background:#6a5a1d;color:#fff0b8}
.check-blocked .check-badge{background:#2d4a66;color:#d6e8fa}
.check-text{display:grid;gap:2px;min-width:0}
.check-text a,.check-text small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.78rem}
.check-actions{display:flex;gap:2px;align-items:center}
.check-actions .subtle-action{min-width:44px;min-height:44px}
.check-actions .button{min-height:36px;white-space:nowrap}
@media(max-width:760px){.check-row{grid-template-columns:1fr auto}.check-badge{grid-column:1/-1;justify-self:start}}
/* Bibliothek: Mit KI sortieren */
.batch-form{width:min(1000px,calc(100vw - 24px))}
.batch-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.batch-list{display:grid;gap:10px;max-height:56vh;overflow:auto}
.batch-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.04)}
.batch-row .batch-pick{width:22px;height:22px;margin-top:8px}
.batch-fields{display:grid;gap:6px;min-width:0}
.batch-line{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:6px}
.batch-fields input,.batch-fields select,.batch-fields textarea{width:100%;min-height:40px;box-sizing:border-box}
.batch-fields textarea{min-height:56px;resize:vertical}
.batch-url{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem}
.batch-row:has(.batch-pick:not(:checked)){opacity:.5}
@media(max-width:760px){.batch-line{grid-template-columns:1fr}.batch-fields input,.batch-fields select{min-height:44px}}
.child-item.dragging{opacity:.45}
.child-pop.drag-active{opacity:.35}
/* Tastenkürzel in den Einstellungen */
.key-list{display:grid;gap:8px}
.key-row{display:grid;grid-template-columns:minmax(0,1fr) 72px 44px;align-items:center;gap:8px}
.key-input{text-align:center;cursor:pointer;min-height:44px;font-weight:700;caret-color:transparent}
.key-input:focus{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.key-row .subtle-action{min-height:44px;min-width:44px}
/* Abschnitte ein- und ausblenden */
.section-list{border:1px solid var(--line);border-radius:var(--radius);padding:4px}
.section-row{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 10px;border-radius:var(--radius);cursor:pointer}
.section-row:hover{background:rgba(255,255,255,.05)}
.section-name{flex:1;min-width:0;overflow-wrap:anywhere}
/* Einstellungen in Reitern */
#settingsDialog{width:min(860px,calc(100% - 32px))}
.dialog-form.settings{display:flex;flex-direction:column;gap:14px;height:min(720px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);box-sizing:border-box}
.dialog-form.settings>header{flex:none;display:flex;align-items:center}
.settings-tabs{flex:none;display:flex;gap:6px;overflow-x:auto;padding-bottom:10px;border-bottom:1px solid var(--line);scrollbar-width:none}
.settings-tabs::-webkit-scrollbar{display:none}
.settings-tab{flex:none;min-height:44px;padding:0 18px;color:var(--muted);background:transparent;border:1px solid transparent;border-radius:var(--radius);white-space:nowrap}
.settings-tab:hover{color:var(--text)}
.settings-tab[aria-selected="true"]{color:var(--text);font-weight:700;background:rgba(255,255,255,.05);border-color:color-mix(in srgb,var(--accent) 55%,transparent)}
.settings-tab[hidden]{display:none}
.settings-panels{flex:1;min-height:0;overflow-y:auto;padding-right:6px}
.settings-panel{display:grid;gap:18px;align-content:start}
.settings-panel[hidden]{display:none}
.settings-panel .settings-actions{display:flex;flex-wrap:wrap;gap:10px}
.settings-panel .settings-actions .button{flex:1 1 auto;justify-content:center;text-align:center;white-space:nowrap;width:auto}
.dialog-form.settings>.settings-footer{flex:none}
@media(max-width:520px){.settings-panel .settings-actions{display:grid;grid-template-columns:minmax(0,1fr)}.settings-panel .settings-actions .button{width:100%}}
@media(min-width:700px){
#panelLayout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 28px;align-items:start}
#panelLayout>.settings-section+.settings-section{padding-top:4px;border-top:0;padding-left:28px;border-left:1px solid var(--line)}
}
@media(min-width:700px){#keyList{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 28px}}
/* Ideen (KI-Anwendungsbeispiele) */
.tile-ideas{display:grid;place-items:center;width:18px;height:15px;padding:0;border:0;background:transparent;border-radius:var(--radius);font-size:.72rem;line-height:1;opacity:.5}
.tile:hover .tile-ideas,.tile:focus-within .tile-ideas{opacity:1}.tile-ideas:hover{background:rgba(255,255,255,.06)}.tile-ideas[hidden]{display:none}
@media(max-width:520px){.tile-ideas{width:30px;height:19px;font-size:.95rem}}
.ideas-box{display:grid;gap:12px;padding:20px 22px}.ideas-box h2{margin:0;font-size:1.05rem;overflow-wrap:anywhere}
.ideas-list{margin:0;padding-left:20px;display:grid;gap:8px;line-height:1.5}.ideas-list:empty{display:none}
.ideas-box .dialog-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
/* KI-Einstellungen: Anbieter, Modell und Modell für Ideen nebeneinander, darunter jeweils das gewählte Modell */
.ai-trio{position:relative;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) minmax(0,1.2fr);gap:10px;align-items:start}
.ai-trio select,.ai-trio input{width:100%}
.ai-mini-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.ai-mini{min-height:0;padding:3px 9px;font-size:.74rem}
.settings-col--side .ai-trio{width:0;min-width:100%}
@media(max-width:520px){.ai-trio{grid-template-columns:minmax(0,1fr)}}
.translator-hint{white-space:nowrap}
@media(max-width:760px){.translator-hint{white-space:normal}}
.translator-go{display:none}
/* Kontextmenü an der Kachel (langer Druck auf dem Handy) */
@media(hover:none){.tile-actions{display:none!important}.tile-link{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}}
.tile-menu{position:fixed;z-index:200;min-width:210px;max-width:calc(100vw - 16px);display:grid;padding:6px;background:#111d29;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 16px 40px rgba(0,0,0,.55)}
.tile-menu-title{margin-bottom:4px;padding:6px 10px 8px;overflow:hidden;color:var(--muted);font-size:.78rem;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid var(--line)}
.tile-menu button{min-height:46px;padding:0 12px;text-align:left;color:var(--text);font:inherit;background:transparent;border:0;border-radius:var(--radius)}
.tile-menu button:hover,.tile-menu button:active{background:rgba(255,255,255,.08)}
