@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');
/* =====================================================================================
   One Piece Dealwatcher – Stylesheet v1.0
   Zwei Designs über Farb-Variablen:
     🌙 "Grand Line" (dunkel): Ozeanblau, Strohhut-Gold, Piratenrot
     ☀️ "Sandbank"  (hell):    Sandweiss, Ozeanblau, kräftige Statusfarben
   Auswahl: automatisch nach System (prefers-color-scheme) oder per Knopf (html[data-theme]).
   ===================================================================================== */

/* ---------- Farben: dunkel (Standard) ---------- */
:root{
  color-scheme:dark;
  --bg:#081423;
  --bg-art:radial-gradient(1100px 520px at 8% -8%,#17497a 0,transparent 60%),radial-gradient(900px 480px at 100% -5%,#4a1d3f 0,transparent 55%),radial-gradient(800px 600px at 50% 120%,#0e3a4a 0,transparent 60%);
  --surface:linear-gradient(150deg,#112640 0%,#0d1d33 100%);
  --surface-solid:#0e1f35;
  --surface-2:#0a182b;     /* Eingabefelder, innere Flächen */
  --surface-3:#16304d;     /* Tags, Chips */
  --hover:#13304f;
  --line:#1f3b5c;
  --line-strong:#2e5279;
  --text:#f1f6fc;
  --text-2:#c9d9ec;
  --muted:#8ea7c4;
  --faint:#5f7b9c;
  --accent:#4cb3ff;        /* Ozean: Links, aktive Navigation */
  --accent-ink:#04111f;
  --gold:#ffc94a;          /* Strohhut: Hauptknöpfe, Logo, Highlights */
  --gold-2:#ff9f43;
  --gold-ink:#2a1700;
  --gold-text:#ffc94a;     /* Gold als Schriftfarbe (im hellen Design dunkler für Lesbarkeit) */
  --red:#ff5d62;
  --green:#3ee0a8;
  --orange:#ffab4c;
  --pink:#ff7dc8;
  --purple:#b892ff;
  --ok-bg:#0f3b30;--ok-fg:#6ff0c0;
  --warn-bg:#41300f;--warn-fg:#ffcd7a;
  --bad-bg:#43191f;--bad-fg:#ff9aa0;
  --info-bg:#173554;--info-fg:#8fd0ff;
  --neutral-bg:#1c3049;--neutral-fg:#a9bed6;
  --jp-bg:#3a2048;--jp-fg:#e4b8ff;
  --en-bg:#123a5c;--en-fg:#8fd0ff;
  --deal-row:#0c2a24;
  --special-row:#2a1530;
  --topbar:#081423cc;
  --shadow:0 10px 30px #00000055;
  --card-glow:0 0 0 1px #ffffff05 inset;
}
/* ---------- Farben: hell ---------- */
@media (prefers-color-scheme:light){:root:not([data-theme=dark]){
  color-scheme:light;
  --bg:#f5f1e8;
  --bg-art:radial-gradient(1000px 480px at 5% -10%,#cfe6ff 0,transparent 60%),radial-gradient(800px 420px at 100% -5%,#ffe3c2 0,transparent 55%);
  --surface:linear-gradient(150deg,#ffffff 0%,#fdfbf7 100%);
  --surface-solid:#ffffff;
  --surface-2:#f4efe6;--surface-3:#ece4d6;--hover:#fbf6ec;
  --line:#e6dccb;--line-strong:#d3c4aa;
  --text:#18222e;--text-2:#34465a;--muted:#667487;--faint:#8a96a5;
  --accent:#1767d1;--accent-ink:#ffffff;
  --gold:#ffc23d;--gold-2:#ff9636;--gold-ink:#2a1700;--gold-text:#a86300;
  --red:#d93a40;--green:#0f9a64;--orange:#d9680a;--pink:#c43d8f;--purple:#7c4dd8;
  --ok-bg:#dcf5ea;--ok-fg:#0b7a4f;--warn-bg:#fff0d6;--warn-fg:#a04e00;--bad-bg:#fde2e2;--bad-fg:#b4232a;
  --info-bg:#e1eeff;--info-fg:#1858b0;--neutral-bg:#eee8dd;--neutral-fg:#5a6676;
  --jp-bg:#f3e6ff;--jp-fg:#7a2fb8;--en-bg:#e1eeff;--en-fg:#1858b0;
  --deal-row:#eefaf3;--special-row:#fdf0f8;
  --topbar:#fffdf8d9;--shadow:0 8px 24px #6b4f2414;--card-glow:0 1px 2px #6b4f2412;
}}
:root[data-theme=light]{
  color-scheme:light;
  --bg:#f5f1e8;
  --bg-art:radial-gradient(1000px 480px at 5% -10%,#cfe6ff 0,transparent 60%),radial-gradient(800px 420px at 100% -5%,#ffe3c2 0,transparent 55%);
  --surface:linear-gradient(150deg,#ffffff 0%,#fdfbf7 100%);
  --surface-solid:#ffffff;
  --surface-2:#f4efe6;--surface-3:#ece4d6;--hover:#fbf6ec;
  --line:#e6dccb;--line-strong:#d3c4aa;
  --text:#18222e;--text-2:#34465a;--muted:#667487;--faint:#8a96a5;
  --accent:#1767d1;--accent-ink:#ffffff;
  --gold:#ffc23d;--gold-2:#ff9636;--gold-ink:#2a1700;--gold-text:#a86300;
  --red:#d93a40;--green:#0f9a64;--orange:#d9680a;--pink:#c43d8f;--purple:#7c4dd8;
  --ok-bg:#dcf5ea;--ok-fg:#0b7a4f;--warn-bg:#fff0d6;--warn-fg:#a04e00;--bad-bg:#fde2e2;--bad-fg:#b4232a;
  --info-bg:#e1eeff;--info-fg:#1858b0;--neutral-bg:#eee8dd;--neutral-fg:#5a6676;
  --jp-bg:#f3e6ff;--jp-fg:#7a2fb8;--en-bg:#e1eeff;--en-fg:#1858b0;
  --deal-row:#eefaf3;--special-row:#fdf0f8;
  --topbar:#fffdf8d9;--shadow:0 8px 24px #6b4f2414;--card-glow:0 1px 2px #6b4f2412;
}

/* ---------- Grundlagen ---------- */
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;min-height:100vh;background:var(--bg-art),var(--bg);background-attachment:fixed;color:var(--text);font-family:Manrope,system-ui,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}
a{color:var(--accent)}
code{font-family:'DM Mono',monospace;color:var(--accent)}
main{max-width:1440px;margin:0 auto;padding:38px clamp(18px,4vw,64px) 28px;overflow-x:clip}
main.narrow{max-width:980px}
.muted{color:var(--muted);line-height:1.65;margin:0}.small{font-size:11px}
button{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:var(--gold-ink);border:0;border-radius:10px;padding:11px 16px;font-weight:800;cursor:pointer;font-family:inherit;box-shadow:0 4px 14px #ff9f4333;transition:transform .1s,filter .15s}
button:hover{filter:brightness(1.06);transform:translateY(-1px)}button:active{transform:none}
button:disabled{opacity:.6;cursor:wait;transform:none}
.secondary,button.secondary{background:var(--surface-3);color:var(--text);border:1px solid var(--line-strong);box-shadow:none}
a.button{display:inline-block;background:linear-gradient(135deg,var(--gold),var(--gold-2));color:var(--gold-ink);border-radius:10px;padding:11px 16px;font-weight:800;text-decoration:none;box-shadow:0 4px 14px #ff9f4333}
a.button.discord{background:#5865f2;color:#fff;padding:13px 20px;font-size:15px;box-shadow:0 4px 14px #5865f244}
select,input[type=search],input[type=text],input[type=number],input[type=email]{background:var(--surface-2);color:var(--text);border:1px solid var(--line-strong);border-radius:8px;padding:9px;font:inherit}
select:focus,input:focus{outline:2px solid var(--accent);outline-offset:1px}

/* ---------- Kopfzeile ---------- */
.topbar{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 clamp(18px,4vw,64px);gap:40px;background:var(--topbar);position:sticky;top:0;z-index:5;backdrop-filter:blur(14px) saturate(1.3)}
.topbar::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,var(--accent),var(--gold) 50%,var(--red));opacity:.75}
.brand{display:flex;align-items:center;gap:12px;min-width:230px}
.logo{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--gold),var(--gold-2));display:grid;place-items:center;color:var(--gold-ink);font-weight:900;letter-spacing:-1px;box-shadow:0 4px 16px #ffb34a40}
.brand strong{display:block;letter-spacing:2px;font-size:12px}
.brand small{display:block;color:var(--muted);font-size:11px;margin-top:4px}
nav{display:flex;gap:26px;flex:1}
nav a{color:var(--muted);text-decoration:none;font-size:13px;font-weight:600;padding:26px 0;border-bottom:2px solid transparent}
nav a:hover{color:var(--text)}
nav a.active{color:var(--text);border-bottom-color:var(--gold)}
.status{color:var(--muted);font-size:11px;display:flex;align-items:center;gap:8px}
.status i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green)}
.status i.busy{background:var(--orange);box-shadow:0 0 12px var(--orange)}
.theme-btn{background:var(--surface-3);border:1px solid var(--line-strong);color:var(--text);box-shadow:none;width:38px;height:38px;padding:0;border-radius:50%;font-size:16px;line-height:1;flex:0 0 auto}
.theme-btn:hover{transform:rotate(-12deg)}
.user-chip{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--text);font-size:12px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2)}
.user-chip img{width:22px;height:22px;border-radius:50%}
.user-chip .plan{font:600 10px 'DM Mono',monospace;padding:2px 6px;border-radius:5px;background:var(--neutral-bg);color:var(--neutral-fg)}
.user-chip .plan.pro{background:var(--ok-bg);color:var(--ok-fg)}.user-chip .plan.admin{background:var(--warn-bg);color:var(--warn-fg)}

/* ---------- Kopf jeder Seite ---------- */
.intro{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}
.eyebrow{color:var(--gold-text);font-size:10px;letter-spacing:2.8px;font-weight:800;margin:0 0 10px}
.intro h1{font-size:clamp(28px,3.2vw,44px);letter-spacing:-1.6px;margin:0 0 8px;line-height:1.1}
.intro h1 .hl,.hero h1 .hl{background:linear-gradient(90deg,var(--gold),var(--gold-2) 45%,var(--red));-webkit-background-clip:text;background-clip:text;color:transparent}
.offer-title{font-size:clamp(20px,2.4vw,30px)!important;letter-spacing:-.5px!important}
.actions{display:flex;gap:10px}
.banner{margin:0 0 16px;padding:12px 16px;border-radius:12px;border:1px solid var(--green);background:var(--ok-bg);color:var(--ok-fg);font-size:13px}
.banner.warn{border-color:var(--orange);background:var(--warn-bg);color:var(--warn-fg)}.banner a{color:inherit;font-weight:700}

/* ---------- Flächen ---------- */
.panel,.metrics article{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--card-glow)}
.panel h3,.panel h2{margin:0 0 7px;font-size:16px}.panel h2{font-size:18px}
.panel>p{line-height:1.65;margin:10px 0;color:var(--muted)}
.panel a:not(.button):not(.shop-btn):not(.more-btn){color:var(--accent)}
.hero{padding:36px}.hero h1{font-size:clamp(28px,4vw,44px);letter-spacing:-1.5px;margin:6px 0 12px}

/* Kennzahlen: jede Karte eigene Farbe */
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}
.metrics article{position:relative;overflow:hidden}
.metrics article::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--m,var(--accent))}
.metrics article::after{content:"";position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;background:var(--m,var(--accent));opacity:.09}
.metrics article:nth-child(1){--m:var(--accent)}.metrics article:nth-child(2){--m:var(--purple)}
.metrics article:nth-child(3){--m:var(--green)}.metrics article:nth-child(4){--m:var(--gold-text)}
.metrics span,.metrics small{display:block;color:var(--muted);font-size:11px}
.metrics strong{display:block;font-size:32px;letter-spacing:-1px;margin:10px 0 6px;color:var(--m,var(--text))}
.metrics strong.good{color:var(--green)}
.limits{display:flex;gap:12px;margin-bottom:30px}
.limits>div{flex:1;display:flex;align-items:center;gap:12px;padding:13px 16px;border:1px solid var(--line);background:var(--surface-2);border-radius:12px}
.limits small,.limits strong{display:block}.limits small{font-size:11px;color:var(--muted);margin-bottom:4px}.limits strong{font-size:14px}
.dot{width:10px;height:10px;border-radius:50%;background:var(--accent);flex:0 0 auto}
.dot.jp{background:var(--purple)}.dot.en{background:var(--accent)}.dot.ok{background:var(--green)}.dot.off{background:var(--orange)}

/* ---------- Badges ---------- */
.pill{display:inline-flex;align-items:center;padding:5px 8px;border-radius:6px;font-size:10px;font-weight:800;white-space:nowrap}
.pill.in{background:var(--ok-bg);color:var(--ok-fg)}.pill.preorder{background:var(--warn-bg);color:var(--warn-fg)}
.pill.out{background:var(--bad-bg);color:var(--bad-fg)}.pill.unknown{background:var(--neutral-bg);color:var(--neutral-fg)}
.pill.deal{background:var(--ok-bg);color:var(--ok-fg);margin-top:6px;border:1px solid color-mix(in srgb,var(--green) 45%,transparent)}
.lang{font:600 11px 'DM Mono',monospace;border-radius:6px;padding:4px 7px;background:var(--en-bg);color:var(--en-fg)}
.lang.jp{background:var(--jp-bg);color:var(--jp-fg)}
.tag{font:500 10px 'DM Mono',monospace;padding:3px 7px;border-radius:6px;background:var(--surface-3);color:var(--text-2);text-decoration:none}
a.tag.set:hover{color:var(--text);filter:brightness(1.1)}
.tag.set.watch{background:var(--warn-bg);color:var(--warn-fg)}
.tag.type-anniversary{background:var(--special-row);color:var(--pink)}.tag.type-case{background:var(--jp-bg);color:var(--purple)}
.open-link{color:var(--accent);text-decoration:none;font-weight:700;white-space:nowrap}.open-link:hover{text-decoration:underline}

/* ---------- Kommende Releases (Dashboard) ---------- */
.releases{margin:0 0 24px}
.releases h3{margin:0 0 12px;font-size:15px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.releases h3 small{font-weight:500;font-size:11px}
.releases h3 .more{margin-left:auto;font-size:12px;font-weight:700;color:var(--accent);text-decoration:none}
.release-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px}
.release{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--text-2);text-decoration:none;font-size:12px;min-width:0;transition:border-color .15s,transform .15s}
.release:hover{border-color:var(--gold);transform:translateY(-1px)}
.release b{font:600 11px 'DM Mono',monospace;color:var(--gold-text);white-space:nowrap}
.release .rtitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rstat{font:600 10px 'DM Mono',monospace;padding:3px 7px;border-radius:6px;white-space:nowrap;margin-left:auto;flex:0 0 auto}
.rstat.ok{background:var(--ok-bg);color:var(--ok-fg)}.rstat.wait{background:var(--neutral-bg);color:var(--neutral-fg)}.rstat.none{background:var(--jp-bg);color:var(--jp-fg)}

/* ---------- Feed-Kopf, Schnellfilter, Filter ---------- */
.feed-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:12px}
.feed-head h2{font-size:21px;margin:0 0 5px}
.count{color:var(--muted);font-size:12px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.chip{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);color:var(--text-2);text-decoration:none;font-size:12px;font-weight:700;white-space:nowrap;transition:border-color .15s,background .15s}
.chip b{font:500 11px 'DM Mono',monospace;color:var(--muted);background:var(--surface-3);border-radius:999px;padding:2px 7px}
.chip:hover{border-color:var(--line-strong);color:var(--text)}
.chip.on{background:var(--info-bg);border-color:var(--accent);color:var(--text)}.chip.on b{color:var(--accent);background:var(--surface-2)}
.chip.deal.on{background:var(--ok-bg);border-color:var(--green)}.chip.deal.on b{color:var(--green)}
.chip.pre.on{background:var(--warn-bg);border-color:var(--orange)}.chip.pre.on b{color:var(--orange)}
.chip.special.on,.chip.watch.on{background:var(--special-row);border-color:var(--pink)}.chip.special.on b,.chip.watch.on b{color:var(--pink)}
.filter-box>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:11px 14px;background:var(--surface-solid);border:1px solid var(--line);border-radius:12px 12px 0 0;font-size:12px;font-weight:700;color:var(--text-2)}
.filter-box>summary::-webkit-details-marker{display:none}
.filter-box>summary::after{content:'▾';margin-left:auto;color:var(--muted)}.filter-box[open]>summary::after{content:'▴'}
.filter-box>summary b{font:500 10px 'DM Mono',monospace;color:var(--accent);background:var(--info-bg);border-radius:999px;padding:2px 8px}
.filter-box[open]>summary{border-bottom:0}
.filters{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));align-items:end;gap:12px;padding:14px;background:var(--surface-solid);border:1px solid var(--line)}
.filters.compact{border-radius:14px;margin-bottom:12px;display:flex;flex-wrap:wrap}
.filters label{color:var(--muted);font-size:11px;display:flex;flex-direction:column;gap:7px;min-width:0}
.filters label.grow{grid-column:span 2}.filters input[type=search]{width:100%}
.filters label.check{flex-direction:row;align-items:center;gap:6px}
.filter-actions{grid-column:1/-1;display:flex;align-items:center;gap:14px;justify-content:flex-end}
.filter-actions .check{color:var(--muted);font-size:11px;display:flex;gap:6px;align-items:center;margin-right:auto}
.reset{color:var(--muted);font-size:12px;text-decoration:none}.reset:hover{color:var(--text)}

/* ---------- Tabellen / Feed ---------- */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-top:0;border-radius:0 0 14px 14px;background:var(--surface-solid)}
table{width:100%;border-collapse:collapse;min-width:860px}
th{text-align:left;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--faint);font-weight:800;padding:14px 16px;background:var(--surface-2)}
td{padding:16px;border-top:1px solid var(--line);color:var(--text-2);font-size:12px}
td strong,td small{display:block}td strong{font-size:12px;color:var(--text);font-weight:700}
td small{color:var(--muted);font-size:10px;margin-top:5px}td small a.open-link{font-weight:600}
th.r,td.r{text-align:right}
.price{font:500 12px 'DM Mono',monospace;color:var(--text)}.price small{display:block;color:var(--muted);font-size:10px;margin-top:4px}
.date{font:11px 'DM Mono',monospace;color:var(--muted)}.date small{display:block;margin-top:4px}
table.feed{min-width:900px}
table.feed td{vertical-align:middle;padding:12px 16px}table.feed td.date{white-space:nowrap}
table.feed tbody tr{transition:background .15s;scroll-margin-top:90px}
table.feed tbody tr:hover td{background:var(--hover)}
tr.deal-row td{background:var(--deal-row)}
table.feed tr.deal-row td:first-child{box-shadow:inset 4px 0 0 var(--green)}
table.feed tr.special-row td:first-child{box-shadow:inset 4px 0 0 var(--pink)}
table.feed tr.deal-row.special-row td:first-child{box-shadow:inset 4px 0 0 var(--green)}
.unlisted td{opacity:.55}
td.prod{min-width:380px}.prod-wrap{display:flex;align-items:center;gap:14px}
.thumb{flex:0 0 50px;height:50px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line);overflow:hidden;display:grid;place-items:center}
.thumb img{width:100%;height:100%;object-fit:contain;background:#fff}
.thumb span{font:700 10px 'DM Mono',monospace;color:var(--gold-text)}
.prod-text{min-width:0}
a.title-link{color:inherit;text-decoration:none}a.title-link:hover{color:var(--accent);text-decoration:underline}
.prod-text .title-link{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;font-weight:700;color:var(--text);line-height:1.35}
.tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.tags .lang{padding:3px 6px;font-size:10px}
.shop-cell{color:var(--text-2);font-size:12px;white-space:nowrap}
td.price .main{display:block;font:700 14px 'DM Mono',monospace;color:var(--text);white-space:nowrap}
td.price small{white-space:nowrap}
tr.deal-row td.price .main{color:var(--green)}
.shop-btn{display:inline-block;padding:7px 12px;border-radius:9px;border:1px solid var(--line-strong);background:var(--surface-3);color:var(--accent);text-decoration:none;font-weight:800;font-size:12px;white-space:nowrap}
.shop-btn:hover{border-color:var(--accent);color:var(--text)}
.hide-form{display:inline}
.hide-btn{background:transparent;color:var(--faint);border:1px solid var(--line);padding:5px 8px;margin-left:6px;font-size:11px;border-radius:7px;box-shadow:none}
.hide-btn:hover{color:var(--red);border-color:var(--red);filter:none;transform:none}
.more-wrap{display:flex;justify-content:center;margin:14px 0 4px}
.more-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:12px;border:1px solid var(--line-strong);background:var(--surface-solid);color:var(--accent);font-weight:800;text-decoration:none}
.more-btn small{color:var(--muted);font-weight:500}.more-btn:hover{border-color:var(--accent)}
.empty{text-align:center;padding:60px 20px;color:var(--muted)}.empty-icon{font-size:30px;margin-bottom:12px;color:var(--faint)}
.empty p{margin:8px 0 15px}.empty a,main>p a{color:var(--accent);text-decoration:none}.empty code{color:var(--accent)}
.empty-mini{color:var(--muted);font-size:12px}

/* ---------- Unterer Bereich, Listen ---------- */
.bottom-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:16px;margin-top:20px}
.shop-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}
.shop-row strong,.shop-row small{display:block}.shop-row strong{font-size:12px}.shop-row small{font-size:10px;color:var(--muted);margin-top:5px}
.shop-row.disabled{opacity:.55}
.error-text{display:block;color:var(--red);font-size:10px;margin:7px 0}
.rules{padding-left:18px;color:var(--text-2);line-height:2}
.note{padding:10px 12px;border-left:3px solid var(--orange);background:var(--warn-bg);border-radius:0 8px 8px 0;font-size:11px;color:var(--warn-fg)!important}
.kv{list-style:none;margin:10px 0;padding:0}
.kv li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}
.kv li span{color:var(--text-2);min-width:0}.kv li span small{display:block;margin-top:3px}.kv li span small code{font-size:10px;color:var(--faint)}
.kv li b{font-weight:700;text-align:right}.kv li b.pill{font-size:10px}.kv li.sub{padding-left:14px;font-size:12px}.kv li.sub b{color:var(--orange);font-weight:600}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.settings-grid pre{white-space:pre-wrap;word-break:break-word;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:14px;color:var(--accent);font:11px/1.6 'DM Mono',monospace}
.inline-form,.stack-form{display:flex;flex-direction:column;gap:12px;margin:12px 0}
.inline-form label,.stack-form label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:11px}
.row-actions{display:inline-flex;gap:6px;align-items:center}
.legal article h3{margin:20px 0 6px;font-size:14px}.legal article p{line-height:1.7;color:var(--text-2)}
.hide-panel form{display:flex;flex-wrap:wrap;align-items:center;gap:10px}

/* ---------- Angebot: Preisverlauf ---------- */
.chart-panel{margin-bottom:16px}.chart{width:100%;height:auto;display:block;margin-top:10px}
.chart .grid{stroke:var(--line);stroke-width:1}.chart .axis{fill:var(--faint);font:11px 'DM Mono',monospace}
.chart .line{fill:none;stroke:var(--gold);stroke-width:2.5}.chart .dot-in{fill:var(--green)}.chart .dot-out{fill:var(--red)}
.legend{font-size:11px;margin-top:8px!important}
.lg{display:inline-block;width:9px;height:9px;border-radius:50%;margin:0 4px 0 10px}.lg.in{background:var(--green)}.lg.out{background:var(--red)}

/* ---------- Releases-Seite ---------- */
.sec-title{font-size:17px;margin:26px 0 12px;display:flex;align-items:center;gap:8px}
.sec-title small{font:500 11px 'DM Mono',monospace;color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:2px 8px}
.rel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.rel-card{display:flex;flex-direction:column;gap:10px;padding:15px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);scroll-margin-top:90px;box-shadow:var(--card-glow);position:relative;overflow:hidden}
.rel-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--neutral-bg)}
.rel-card.listed::before{background:linear-gradient(var(--green),var(--accent))}.rel-card.listed{border-color:color-mix(in srgb,var(--green) 40%,var(--line))}
.rel-card.unmapped::before{background:var(--purple)}
.rel-card:target{outline:2px solid var(--gold)}
.rel-card header{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.rel-date{font:700 13px 'DM Mono',monospace;color:var(--gold-text)}
.rel-title{color:var(--text);font-weight:800;font-size:14px;line-height:1.4;text-decoration:none}.rel-title:hover{color:var(--accent)}
.rel-types{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.rel-types li{display:flex;align-items:center;gap:10px;font-size:12px;padding:8px 10px;background:var(--surface-2);border-radius:9px}
.rel-types li span{color:var(--muted);min-width:70px}.rel-types li b{font:700 12px 'DM Mono',monospace;color:var(--green)}.rel-types li small{margin-left:auto;color:var(--muted)}
.rel-card footer{display:flex;flex-direction:row!important;align-items:center;justify-content:space-between;gap:10px;padding:0;margin-top:auto;font-size:11px;color:var(--muted)}

/* ---------- Fuss, Meldungen ---------- */
footer{display:flex;justify-content:space-between;gap:12px;color:var(--faint);font-size:10px;padding:30px 0 8px}
footer a{color:var(--muted)}footer span{color:var(--faint)}
main.narrow footer{flex-direction:column;gap:6px}
.toast{position:fixed;bottom:24px;right:24px;max-width:420px;background:var(--surface-solid);color:var(--text);border:1px solid var(--line-strong);border-radius:12px;padding:14px 18px;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none;box-shadow:var(--shadow)}
.toast.show{opacity:1;transform:translateY(0)}

/* ---------- Tablet ---------- */
@media(max-width:900px){
  .topbar{gap:18px}.brand{min-width:auto}nav{gap:16px}
  .metrics{grid-template-columns:repeat(2,1fr)}.limits{flex-wrap:wrap}.limits>div{min-width:45%}
  .intro{align-items:flex-start;flex-direction:column}
  .bottom-grid,.settings-grid{grid-template-columns:1fr}
}

/* ---------- Handy ---------- */
@media(max-width:760px){
  main{padding:18px 14px 24px}
  .topbar{height:auto;flex-wrap:wrap;gap:8px 10px;padding:10px 14px 0}
  .brand{min-width:0;flex:1}.brand small{display:none}
  nav{order:3;flex-basis:100%;overflow-x:auto;gap:20px;scrollbar-width:none;white-space:nowrap}nav::-webkit-scrollbar{display:none}
  nav a{padding:10px 0 12px;font-size:14px}
  .status{display:none}.user-chip span{display:none}.user-chip{padding:5px 8px}
  .intro{gap:12px;margin-bottom:18px}.intro h1{font-size:27px;letter-spacing:-.8px}.eyebrow{margin-bottom:6px}
  .actions{width:100%}.actions button{flex:1;padding:12px}
  .metrics{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.metrics article{padding:12px}.metrics strong{font-size:25px;margin:6px 0 2px}
  .limits{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px}.limits>div{min-width:0;padding:10px 12px}
  .release-list{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:8px;padding-bottom:4px}
  .release{flex:0 0 82%;scroll-snap-align:start;flex-wrap:wrap}
  .release .rtitle{flex-basis:100%;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .release .rstat{margin-left:0}
  .feed-head{align-items:flex-end}.feed-head .count{white-space:nowrap}
  .chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}
  .filters{grid-template-columns:1fr 1fr;gap:10px;padding:12px}.filters label.grow{grid-column:1/-1}
  select,input[type=search],input[type=text],input[type=number]{font-size:16px}  /* iOS: kein Auto-Zoom */
  .filter-actions{flex-wrap:wrap;gap:10px}.filter-actions button{flex:1}
  /* Feed als Karten */
  .table-wrap{overflow-x:visible}
  table.feed,table.compare{min-width:0}
  table.feed thead,table.compare thead{display:none}
  table.feed,table.feed tbody,table.compare,table.compare tbody{display:block}
  table.feed:not(.members) tr{display:grid;grid-template-columns:1fr auto;grid-template-areas:"prod prod" "price st" "shop date" "act act";gap:8px 12px;padding:14px 14px 12px;border-top:1px solid var(--line)}
  table.feed td{display:block;padding:0;border:0;background:none!important;box-shadow:none!important;min-width:0}
  table.feed tr.deal-row{background:var(--deal-row);box-shadow:inset 4px 0 0 var(--green)}
  table.feed tr.special-row{box-shadow:inset 4px 0 0 var(--pink)}
  td.prod{grid-area:prod;min-width:0}.prod-text .title-link{font-size:14px}.thumb{flex-basis:44px;height:44px}
  table.feed td.price{grid-area:price;text-align:left}td.price .main{font-size:17px}
  table.feed td.st{grid-area:st;text-align:right;align-self:start}
  table.feed td.shop-cell{grid-area:shop;align-self:center;white-space:normal}
  table.feed td.date{grid-area:date;text-align:right;font-size:10px}
  table.feed td.act{grid-area:act;display:flex;gap:8px;align-items:center}
  td.act .shop-btn{flex:1;text-align:center;padding:11px}td.act .hide-form{display:block}td.act .hide-btn{margin:0;padding:11px 14px;font-size:13px}
  table.feed td.empty{grid-column:1/-1}
  /* Mitgliederliste */
  table.members tr{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;padding:12px 14px;border-top:1px solid var(--line)}
  table.members td:first-child{flex-basis:100%}
  /* Preisvergleich als Karten */
  table.compare tr{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;padding:14px;border-top:1px solid var(--line)}
  table.compare td{display:block;padding:0;border:0;background:none!important}
  table.compare tr.deal-row{background:var(--deal-row);box-shadow:inset 4px 0 0 var(--green)}
  table.compare td.c-lang{text-align:right}table.compare td.c-link{grid-column:1/-1}
  table.compare td[data-label]::before{content:attr(data-label);display:block;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:3px}
  .bottom-grid,.settings-grid{grid-template-columns:1fr}.panel{padding:14px}
  .shop-row>div{min-width:0}.shop-row small{word-break:break-word}
  .rel-grid{grid-template-columns:1fr}.settings-grid pre{font-size:10px}
  main>footer{flex-direction:column;gap:8px}
  .toast{left:14px;right:14px;bottom:14px;max-width:none}
}

/* ---------- Merkliste ---------- */
.star-form{display:inline}
.star-btn{display:inline-grid;place-items:center;width:34px;height:32px;padding:0;margin-right:6px;border-radius:9px;background:transparent;border:1px solid var(--line);color:var(--faint);font-size:16px;line-height:1;text-decoration:none;box-shadow:none;vertical-align:middle}
.star-btn:hover{color:var(--gold-text);border-color:var(--gold);transform:none;filter:none}
.star-btn.on{color:var(--gold-text);border-color:var(--gold);background:var(--warn-bg)}
td.c-link .star-btn{margin-right:10px}
.watch-panel{margin-bottom:16px}.watch-panel form{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}
.watch-panel label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.watch-panel input[type=text]{width:110px}
.watch-panel>form+form{margin-top:10px}
.watch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
.watch-card{display:flex;flex-direction:column;gap:12px;padding:15px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);position:relative;overflow:hidden;box-shadow:var(--card-glow)}
.watch-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--gold)}
.watch-card.hit{border-color:color-mix(in srgb,var(--green) 50%,var(--line))}.watch-card.hit::before{background:var(--green)}
.watch-card.soldout::before{background:var(--neutral-bg)}
.watch-card header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.watch-title{font-weight:800;font-size:15px;color:var(--text);text-decoration:none}.watch-title:hover{color:var(--accent)}
.watch-card header .pill{margin-left:auto}
.watch-price b{display:block;font:700 22px 'DM Mono',monospace;color:var(--text)}.watch-card.hit .watch-price b{color:var(--green)}
.watch-price small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.watch-price .gap{color:var(--orange)}
.watch-edit{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;padding:10px;background:var(--surface-2);border-radius:10px}
.watch-edit label{display:flex;flex-direction:column;gap:5px;font-size:11px;color:var(--muted)}.watch-edit input[type=text]{width:110px}
.watch-edit label.check{flex-direction:row;align-items:center;gap:6px}.watch-edit button{margin-left:auto;padding:9px 14px}
.watch-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0;font-size:11px;color:var(--muted);flex-direction:row!important}
.link-btn{background:none;border:0;box-shadow:none;color:var(--red);padding:4px 0;font-weight:700;font-size:12px}.link-btn:hover{transform:none;text-decoration:underline}
@media(max-width:760px){
  .watch-grid{grid-template-columns:1fr}
  td.act .star-form,td.act .star-btn.on{display:block}td.act .star-btn{width:44px;height:42px;margin:0;font-size:18px}
  .watch-edit input[type=text],.watch-panel input[type=text]{font-size:16px}
}
.watch-grid>.empty{grid-column:1/-1}

/* ---------- Shops-Seite ---------- */
.shop-search{margin:0 0 6px}.shop-search input{width:100%;max-width:420px}
.shop-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:8px}
.shop-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-solid)}
.shop-card.bot,.shop-card.robots,.shop-card.javascript{border-style:dashed}
.shop-main{min-width:0}.shop-main strong{display:block;font-size:13px}
.shop-main small{display:block;color:var(--muted);font-size:11px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shop-main small.why{white-space:normal;color:var(--faint)}
.cc{font:600 9px 'DM Mono',monospace;background:var(--surface-3);color:var(--text-2);border-radius:4px;padding:1px 5px;margin-right:6px}
.shop-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
a.shop-name{color:inherit;text-decoration:none}a.shop-name:hover{color:var(--accent)}
@media(max-width:760px){.shop-list{grid-template-columns:1fr}.shop-card{flex-wrap:wrap}.shop-actions{width:100%;justify-content:flex-end}.shop-search input{font-size:16px;max-width:none}}
.shop-actions .open-link{font-size:12px}

/* ---- Anleitung (Video) */
.video-panel{padding:14px}
.video-panel video{display:block;width:100%;aspect-ratio:16/9;border-radius:12px;background:#000}
.video-panel p{margin:10px 2px 0}
.cta-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
a.button.ghost{background:transparent;color:var(--text);border:1px solid var(--line);box-shadow:none}
a.button.ghost small{font-weight:600;color:var(--muted)}
.video-panel+.panel{margin-top:16px}
