/* La Cuisine des Martel-Haslinger — modernes, helles Design (v6) */

:root{
  --paper:#F6F4EF;
  --paper-deep:#ECE8DF;
  --card:#FFFFFF;
  --ink:#27323D;
  --ink-soft:#5B6672;
  --rust:#A6432E;
  --rust-deep:#8A3223;
  --sage:#5C6B4F;
  --gold:#B98A2E;
  --line:#E2DDD0;
  --line-soft:#EEEAE0;
  --shadow:0 1px 2px rgba(20,20,30,.06), 0 8px 24px -10px rgba(20,20,30,.16);
  --shadow-hover:0 2px 4px rgba(20,20,30,.08), 0 18px 34px -12px rgba(20,20,30,.22);
  --radius:16px;
  --sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --topbar-h:64px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth; scroll-padding-top:8rem;}
[hidden]{display:none !important;}

body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--sans); font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
::selection{ background:var(--gold); color:#fff; }
a{ color:var(--rust-deep); }
h1,h2,h3,h4{ font-family:var(--sans); font-weight:700; letter-spacing:-.01em; color:var(--ink); margin:0; }
button{ font-family:inherit; }

/* Kapitelfarben (Reiter, Karten, Rezepte, Dialog) */
[data-kap="hauptspeisen"]{ --chapter-color:#B24A33; }
[data-kap="sous-vide"]{ --chapter-color:#B98A2E; }
[data-kap="vegetarisch"]{ --chapter-color:#5C7A4A; }
[data-kap="beilagen"]{ --chapter-color:#7B5C8A; }
[data-kap="brote"]{ --chapter-color:#7A5230; }
[data-kap="doerren"]{ --chapter-color:#6B7A3A; }
[data-kap="dessert"]{ --chapter-color:#B0475F; }
[data-kap="geburtstagsbuch"]{ --chapter-color:#B36A2E; }
[data-kap="neue-rezepte"]{ --chapter-color:#3E6B7A; }

/* ===== Kopfzeile ===== */
.topbar{
  position:sticky; top:0; z-index:40;
  background:color-mix(in srgb, var(--paper) 94%, transparent);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.topbar-in{
  max-width:1240px; margin:0 auto; padding:.55rem 1.4rem;
  display:flex; align-items:center; gap:1rem; min-height:var(--topbar-h);
}
.brand{ display:flex; align-items:center; gap:.7rem; text-decoration:none; color:inherit; flex-shrink:0; }
.brand-img{ width:42px; height:42px; border-radius:50%; object-fit:cover; box-shadow:0 0 0 2px var(--card), 0 0 0 3px var(--line); }
.brand-text{ display:flex; flex-direction:column; line-height:1.15; }
.brand-name{ font-weight:700; font-size:1.1rem; letter-spacing:-.01em; }
.brand-name em{ font-style:normal; font-weight:500; color:var(--ink-soft); }
.brand-sub{ font-size:.72rem; color:var(--ink-soft); margin-top:.1rem; }

.search{
  flex:1 1 220px; max-width:420px; margin-left:auto;
  display:flex; align-items:center; gap:.5rem;
  background:var(--card); border:1px solid var(--line); border-radius:999px;
  padding:.15rem .35rem .15rem .85rem; color:var(--ink-soft);
}
.search:focus-within{ border-color:var(--gold); box-shadow:0 0 0 3px rgba(185,138,46,.22); }
.search input{
  flex:1; min-width:0; border:0; background:none; outline:none;
  font:inherit; font-size:16px; color:var(--ink); padding:.4rem 0;
}
.search input::-webkit-search-cancel-button{ cursor:pointer; }
.chip{
  font-size:12px; font-weight:500; padding:.28rem .7rem; border-radius:999px; cursor:pointer;
  background:transparent; color:var(--ink-soft); border:1px solid var(--line);
}
.chip[aria-pressed="true"]{ background:var(--rust); border-color:var(--rust); color:#fff; }

.tools{ display:flex; align-items:center; gap:.45rem; flex-shrink:0; }
.icon-btn, .seg button{
  min-width:36px; height:36px; font-size:16px; line-height:1; cursor:pointer;
  color:var(--ink-soft); background:var(--card); border:1px solid var(--line);
}
.icon-btn{ border-radius:50%; }
.icon-btn:hover, .seg button:hover{ color:var(--rust-deep); border-color:var(--rust); }
.icon-btn[aria-pressed="true"]{ background:var(--gold); border-color:var(--gold); color:#fff; }
.seg{ display:inline-flex; }
.seg button:first-child{ border-radius:999px 0 0 999px; }
.seg button:last-child{ border-radius:0 999px 999px 0; border-left:0; }
.seg button[aria-pressed="true"]{ background:var(--ink); border-color:var(--ink); color:var(--paper); }

/* ===== Kapitel-Reiter ===== */
.reiter-bar{
  max-width:1240px; margin:0 auto; padding:0 1.4rem .6rem;
  display:flex; align-items:center; gap:1rem;
}
.reiter-scroll{
  display:flex; gap:.4rem; overflow-x:auto; flex:1; min-width:0;
  padding:.1rem 0; scrollbar-width:none;
}
.reiter-scroll::-webkit-scrollbar{ display:none; }
.reiter{
  flex-shrink:0; white-space:nowrap; cursor:pointer;
  font-weight:500; font-size:.9rem; padding:.38rem .9rem;
  color:var(--ink); background:var(--card);
  border:1px solid var(--line); border-radius:999px;
}
.reiter::before{
  content:""; display:inline-block; width:8px; height:8px; border-radius:50%;
  background:var(--chapter-color, var(--ink)); margin-right:.45rem; vertical-align:1px;
}
.reiter:hover{ border-color:var(--chapter-color, var(--ink)); }
.reiter .n{ font-size:11px; opacity:.6; margin-left:.3rem; font-variant-numeric:tabular-nums; }
.reiter[aria-pressed="true"]{ background:var(--ink); border-color:var(--ink); color:var(--paper); }
.reiter[aria-pressed="true"]::before{ background:var(--paper); }
.reiter[data-kap=""]::before{ display:none; }
.result-count{ font-size:12px; color:var(--ink-soft); white-space:nowrap; font-variant-numeric:tabular-nums; }
.reset{ font-size:12px; color:var(--rust-deep); background:none; border:0; text-decoration:underline; cursor:pointer; padding:0; white-space:nowrap; }

/* ===== Inhalt ===== */
main{ max-width:1240px; margin:0 auto; padding:1.6rem 1.4rem 3rem; min-height:60vh; }
.no-results{ text-align:center; color:var(--ink-soft); padding:3rem 1rem; }

/* ===== Karten (Kartenansicht) ===== */
.cards-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(min(250px, 100%), 1fr)); gap:1.4rem; }
.cards-grid > .card{ min-width:0; }
.card{
  position:relative; text-align:left; cursor:pointer; font-size:15px; color:var(--ink);
  background:var(--card); border:0; border-top:5px solid var(--chapter-color, var(--rust));
  border-radius:var(--radius); box-shadow:var(--shadow);
  padding:1.2rem 1.3rem 1.2rem; min-height:12rem; display:flex; flex-direction:column;
  transition:transform .15s ease, box-shadow .15s ease;
}
.card:hover, .card:focus-visible{ transform:translateY(-3px); box-shadow:var(--shadow-hover); outline:none; }
.card:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }
.card .meta{
  order:-1; font-size:.7rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  color:var(--chapter-color, var(--rust-deep)); margin-bottom:.45rem;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; padding-right:1.4rem;
}
.card h3{
  font-size:1.15rem; line-height:1.3; margin-bottom:.5rem;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.card .snippet{
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
  font-size:.88rem; line-height:1.45; color:var(--ink-soft);
}
.card .star{ display:none; position:absolute; top:.9rem; right:1rem; color:var(--gold); font-size:1.05rem; }
.card.is-fav .star{ display:block; }
.card-img{ width:calc(100% + 2.6rem); margin:-1.2rem -1.3rem .9rem; height:130px; object-fit:cover; display:block; }

/* ===== Rezept (Listenansicht & Dialog) ===== */
#chapters{ max-width:900px; margin:0 auto; }
.chapter{ margin-bottom:2.5rem; }
.chapter-head{ display:flex; align-items:center; gap:.9rem; margin:1.4rem 0 1.4rem; flex-wrap:wrap; }
.chapter-head .tab{ font-size:.7rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--chapter-color); }
.chapter-head h2{ font-size:1.6rem; color:var(--chapter-color, var(--ink)); }
.chapter-head .rule{ flex:1; min-width:2rem; height:1px; background:var(--line); }
.chapter-intro{ color:var(--ink-soft); margin:-.6rem 0 1.6rem; max-width:640px; }

.recipe{
  position:relative; background:var(--card); border-top:5px solid var(--chapter-color, var(--rust));
  border-radius:var(--radius); box-shadow:var(--shadow);
  padding:1.8rem 2rem 2rem; margin:0 0 1.6rem; scroll-margin-top:8rem;
}
.recipe-head{
  display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:.2rem 1.2rem;
  padding-bottom:.9rem; margin-bottom:1.1rem; border-bottom:1px solid var(--line);
}
.recipe-head h3{ font-size:1.6rem; line-height:1.2; }
.recipe-meta{ font-size:.72rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--chapter-color, var(--rust-deep)); }

.recipe-photo{ display:block; width:100%; max-height:380px; object-fit:cover; margin:0 0 1.3rem; border-radius:10px; }

.recipe-body{ display:grid; grid-template-columns:1fr; gap:1.4rem 2.6rem; }
.recipe.has-cols .recipe-body{ grid-template-columns:minmax(200px, 270px) 1fr; }

.block-label, .ingredients h4, .steps h4{
  font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--chapter-color, var(--rust)); margin:0 0 .6rem; display:block;
}
.ingredients h4, .steps h4{ margin-top:1.1rem; color:var(--ink-soft); }
.ingredients ul{ margin:0 0 .8rem; padding:0; list-style:none; }
.ingredients li{
  position:relative; padding:.4rem 0 .4rem 1.1rem; font-size:.94rem; line-height:1.45;
  border-bottom:1px solid var(--line-soft); cursor:pointer;
}
.ingredients li::before{ content:""; position:absolute; left:.05rem; top:.95rem; width:5px; height:5px; border-radius:50%; background:var(--chapter-color, var(--gold)); }
.ingredients li:last-child{ border-bottom:0; }
.ingredients li.done{ text-decoration:line-through; opacity:.45; }

.steps p{ margin:0 0 .9rem; }
.steps ol{ margin:0 0 1rem; padding-left:1.4rem; }
.steps li{ margin-bottom:.6rem; padding-left:.2rem; }
.steps li::marker{ font-weight:700; color:var(--chapter-color, var(--rust-deep)); }
.tip{ margin:1rem 0 0; padding:.8rem 1rem; background:rgba(185,138,46,.12); border-radius:10px; font-size:.9rem; color:var(--ink-soft); }
.tip strong{ color:var(--ink); }
.note{ margin-top:1rem; font-size:.9rem; color:var(--ink-soft); font-style:italic; }

.video-embed{ position:relative; width:100%; max-width:560px; aspect-ratio:16/9; margin:1rem 0; border-radius:10px; overflow:hidden; background:#000; }
.video-embed iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }

/* ===== Rezept-Werkzeuge ===== */
.recipe-tools{ display:flex; flex-wrap:wrap; gap:.45rem; align-items:center; margin:0 0 1.3rem; }
.recipe-tools button, .recipe-tools .edit-link{
  font-size:13px; color:var(--ink-soft); background:var(--paper); text-decoration:none;
  border:1px solid var(--line); border-radius:999px; padding:.3rem .85rem; cursor:pointer;
}
.recipe-tools button:hover, .recipe-tools .edit-link:hover{ border-color:var(--rust); color:var(--rust-deep); }
.recipe-tools button[aria-pressed="true"]{ background:var(--gold); border-color:var(--gold); color:#fff; }
.recipe-tools .edit-link{ margin-left:auto; }
.scaler{ display:inline-flex; align-items:center; border:1px solid var(--line); border-radius:999px; background:var(--paper); }
.scaler button{ border:0; background:none; padding:.3rem .7rem; font-size:16px; line-height:1; }
.scale-label{ font-size:12px; font-weight:500; padding:0 .3rem; min-width:6.5em; text-align:center; color:var(--ink); font-variant-numeric:tabular-nums; }

/* ===== Dialog ===== */
dialog#recipeDialog{
  width:min(900px, 96vw); max-height:92vh; padding:0; border:0; background:transparent; color:var(--ink); overflow:visible;
}
dialog#recipeDialog::backdrop{ background:rgba(25,28,34,.55); backdrop-filter:blur(2px); }
#dlgBody{ max-height:92vh; overflow:auto; border-radius:var(--radius); }
#dlgBody .recipe{ margin:0; }
.dlg-close{
  position:absolute; top:-.5rem; right:-.5rem; z-index:3; width:38px; height:38px; font-size:24px; line-height:1; cursor:pointer;
  background:var(--card); color:var(--ink); border:1px solid var(--line); border-radius:50%; box-shadow:var(--shadow);
}
dialog#recipeDialog.cook{ width:100vw; max-width:100vw; height:100vh; max-height:100vh; }
dialog.cook #dlgBody{ max-height:100vh; height:100vh; border-radius:0; background:var(--card); }
dialog.cook .recipe{ margin:0; box-shadow:none; border-radius:0; border-top:0; padding:2rem 1.6rem 4rem; min-height:100%; }
dialog.cook .recipe-tools{ display:none; }
dialog.cook .recipe li, dialog.cook .recipe p{ font-size:1.3rem; line-height:1.6; }
dialog.cook .ingredients li{ padding-top:.5rem; padding-bottom:.5rem; }
dialog.cook .recipe.has-cols .recipe-body{ grid-template-columns:1fr; }

/* ===== Einkaufsliste ===== */
#listBtn{ position:relative; }
.badge{
  position:absolute; top:-5px; right:-5px; min-width:18px; height:18px; padding:0 4px; border-radius:9px;
  background:var(--rust); color:#fff; font-size:11px; font-weight:700; line-height:18px; text-align:center;
}
dialog#listDialog{ width:min(520px, 94vw); max-height:90vh; padding:0; border:0; background:transparent; color:var(--ink); overflow:visible; }
dialog#listDialog::backdrop{ background:rgba(25,28,34,.55); backdrop-filter:blur(2px); }
.list-card{ background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow); padding:1.2rem 1.4rem 1.2rem; max-height:90vh; overflow:auto; border-top:5px solid var(--gold); }
.list-head{ display:flex; align-items:baseline; gap:.7rem; margin-bottom:.8rem; }
.list-head h2{ font-size:1.3rem; }
.list-count{ font-size:.8rem; color:var(--ink-soft); }
.dlg-close-inline{ margin-left:auto; width:34px; height:34px; font-size:22px; line-height:1; cursor:pointer; background:var(--paper); color:var(--ink); border:1px solid var(--line); border-radius:50%; }
.list-empty{ color:var(--ink-soft); text-align:center; padding:1.5rem 0; }
.list-recipes{ display:flex; flex-wrap:wrap; gap:.4rem; margin-bottom:.9rem; }
.list-chip{ font-size:12px; background:var(--paper); border:1px solid var(--line); border-radius:999px; padding:.15rem .3rem .15rem .7rem; }
.list-chip button{ border:0; background:none; cursor:pointer; color:var(--ink-soft); font-size:15px; line-height:1; }
.list-items{ list-style:none; margin:0 0 1rem; padding:0; }
.list-items li{ border-bottom:1px solid var(--line-soft); }
.list-items label{ display:flex; gap:.7rem; align-items:flex-start; padding:.55rem 0; cursor:pointer; font-size:.98rem; line-height:1.4; }
.list-items input{ margin-top:.25rem; width:18px; height:18px; accent-color:var(--rust); flex-shrink:0; }
.list-items li.done span{ text-decoration:line-through; opacity:.45; }
.list-actions{ display:flex; flex-wrap:wrap; gap:.45rem; }
.list-actions button{ font-size:13px; color:var(--ink); background:var(--paper); border:1px solid var(--line); border-radius:999px; padding:.4rem .9rem; cursor:pointer; }
.list-actions button:hover:not(:disabled){ border-color:var(--rust); color:var(--rust-deep); }
.list-actions button:disabled{ opacity:.4; cursor:default; }
.list-actions .danger{ margin-left:auto; color:var(--rust-deep); }
.list-msg{ min-height:1.2em; margin:.6rem 0 0; font-size:.8rem; color:var(--ink-soft); }

/* ===== App installieren ===== */
.install-btn{ font-size:12px; font-weight:600; cursor:pointer; color:#fff; background:var(--rust); border:0; border-radius:999px; padding:.45rem .8rem; white-space:nowrap; }
.install-btn:hover{ filter:brightness(1.08); }
.ios-hint{
  position:fixed; left:.8rem; right:.8rem; bottom:.8rem; z-index:60; display:flex; gap:.8rem; align-items:center; justify-content:space-between;
  background:var(--ink); color:var(--paper); border-radius:14px; padding:.8rem 1rem; font-size:.9rem; box-shadow:var(--shadow-hover);
}
.ios-hint button{ background:none; border:0; color:inherit; font-size:22px; line-height:1; cursor:pointer; }
@media print{ .ios-hint, .install-btn{ display:none !important; } }

/* ===== Familyhub ===== */
dialog#fhDialog{ width:min(460px, 94vw); max-height:90vh; padding:0; border:0; background:transparent; color:var(--ink); overflow:visible; }
dialog#fhDialog::backdrop{ background:rgba(25,28,34,.55); backdrop-filter:blur(2px); }
.fh-title{ font-weight:600; margin:0 0 1rem; }
.fh-help{ font-size:.85rem; color:var(--ink-soft); margin:0 0 .8rem; }
.fh-label{ display:block; font-size:.78rem; font-weight:600; color:var(--ink-soft); margin:.6rem 0 0; }
.fh-label input, .fh-plan select{
  display:block; width:100%; margin-top:.25rem; font:inherit; font-size:16px; color:var(--ink);
  padding:.5rem .7rem; background:var(--paper); border:1px solid var(--line); border-radius:10px;
}
.fh-row{ display:grid; grid-template-columns:1fr auto; gap:.5rem; }
.fh-row select{ margin-top:0; }
.fh-big{ width:100%; font:inherit; font-size:15px; font-weight:600; text-align:center; cursor:pointer; color:#fff; background:var(--rust); border:0; border-radius:12px; padding:.75rem 1rem; margin-top:.6rem; }
.fh-big:hover{ filter:brightness(1.08); }
.fh-plan{ margin-top:1rem; padding-top:1rem; border-top:1px solid var(--line); }
.fh-taken{ min-height:1.3em; margin:.4rem 0 0; font-size:.8rem; color:var(--gold); }
.primary-btn{ background:var(--rust) !important; color:#fff !important; border-color:var(--rust) !important; }
.fh-msg{ min-height:1.3em; margin:.8rem 0 0; font-size:.88rem; color:var(--ink-soft); }
.fh-msg.ok{ color:#2f7a45; font-weight:600; }
.fh-msg.err{ color:#b3261e; }
.fh-foot{ margin:.4rem 0 0; }
.linklike{ background:none; border:0; padding:0; font:inherit; font-size:12px; color:var(--ink-soft); text-decoration:underline; cursor:pointer; }
:root[data-theme="dark"] .fh-msg.ok{ color:#7fd199; }
:root[data-theme="dark"] .fh-msg.err{ color:#f0928a; }

/* ===== Fußzeile, Nach-oben ===== */
footer{ text-align:center; padding:2.5rem 1.4rem 4rem; border-top:1px solid var(--line); }
.intro-note{ max-width:620px; margin:0 auto 1.2rem; color:var(--ink-soft); font-size:.95rem; }
.foot{ font-size:.75rem; color:var(--ink-soft); margin:0; }
.foot a{ color:inherit; }

.to-top{
  position:fixed; right:1.2rem; bottom:1.2rem; width:42px; height:42px; border-radius:50%;
  background:var(--ink); color:var(--paper); display:flex; align-items:center; justify-content:center; text-decoration:none;
  opacity:0; pointer-events:none; transition:opacity .25s ease; box-shadow:var(--shadow);
}
.to-top.visible{ opacity:1; pointer-events:auto; }

/* ===== Dunkles Design ===== */
:root[data-theme="dark"]{
  --paper:#16191E; --paper-deep:#20252B; --card:#222830;
  --ink:#ECE8DD; --ink-soft:#A7B0B9;
  --rust:#D9775F; --rust-deep:#EE9680; --sage:#93A883; --gold:#C99A3D;
  --line:#343C46; --line-soft:#2B323B;
  --shadow:0 1px 2px rgba(0,0,0,.4), 0 10px 24px -12px rgba(0,0,0,.7);
  --shadow-hover:0 2px 4px rgba(0,0,0,.5), 0 18px 32px -12px rgba(0,0,0,.8);
  color-scheme:dark;
}
:root[data-theme="dark"] [data-kap="hauptspeisen"]{ --chapter-color:#E08A73; }
:root[data-theme="dark"] [data-kap="vegetarisch"]{ --chapter-color:#8FB07B; }
:root[data-theme="dark"] [data-kap="beilagen"]{ --chapter-color:#B493C4; }
:root[data-theme="dark"] [data-kap="brote"]{ --chapter-color:#C99A6B; }
:root[data-theme="dark"] [data-kap="doerren"]{ --chapter-color:#A5B65E; }
:root[data-theme="dark"] [data-kap="dessert"]{ --chapter-color:#E37D93; }
:root[data-theme="dark"] [data-kap="neue-rezepte"]{ --chapter-color:#6FA8BA; }
:root[data-theme="dark"] .reiter[aria-pressed="true"]{ background:var(--ink); color:#16191E; }
:root[data-theme="dark"] .reiter[aria-pressed="true"]::before{ background:#16191E; }

/* ===== Schmale Bildschirme ===== */
@media (max-width:760px){
  :root{ --topbar-h:56px; }
  html{ scroll-padding-top:7rem; }
  .topbar-in{ padding:.45rem .9rem; gap:.5rem; flex-wrap:wrap; }
  .brand{ min-width:0; }
  .brand-img{ width:34px; height:34px; }
  .brand-name{ font-size:1rem; }
  .brand-sub, .brand-name em{ display:none; }
  .tools{ margin-left:auto; }
  .search{ order:3; flex:1 1 100%; max-width:none; margin:0; }
  .reiter-bar{ padding:0 .9rem .5rem; }
  .result-count{ display:none; }
  main{ padding:1.1rem .9rem 3rem; }
  .cards-grid{ grid-template-columns:minmax(0, 1fr); gap:1rem; }
  .card{ min-height:0; }
  .recipe{ padding:1.4rem 1.1rem 1.5rem; }
  .recipe.has-cols .recipe-body{ grid-template-columns:1fr; }
  .chapter-head h2{ font-size:1.4rem; }
  dialog#recipeDialog{ width:100vw; }
  .to-top{ right:.8rem; bottom:.8rem; }
}
@media (min-width:480px) and (max-width:760px){
  .cards-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}

/* ===== Druck ===== */
@media print{
  :root[data-theme="dark"]{ --paper:#fff; --card:#fff; --ink:#000; --ink-soft:#333; --line:#ccc; }
  body{ background:#fff; }
  .topbar, #cards, footer, .to-top, .recipe-tools, .dlg-close, dialog#listDialog, dialog#fhDialog{ display:none !important; }
  .recipe{ break-inside:avoid; box-shadow:none; border:1px solid #ccc; margin-top:1rem; }
  body.print-dialog > *:not(dialog){ display:none !important; }
  body.print-dialog dialog{ display:block !important; position:static; width:auto; max-height:none; box-shadow:none; }
  body.print-dialog #dlgBody{ max-height:none; overflow:visible; }
  body:not(.print-dialog) #chapters{ display:block !important; }
}
