/* A readable sheet of ink, with the castle plan underneath. */
#mha-familienkarte { --mha-ink:#231f1b; --mha-muted:#5f574c; --mha-calligraphy:'Pinyon Script','IM Fell English',cursive; }
#mha-familienkarte .mha-title, #mha-familienkarte .mha-dialog h2, #mha-familienkarte .mha-collection h2,
#mha-familienkarte .mha-treasure-person-name, #mha-familienkarte .mha-treasure-total strong,
#mha-familienkarte .mha-wish h3, #mha-familienkarte .mha-treasure-section-heading h2,
#mha-familienkarte .mha-clock-family-name, #mha-familienkarte .mha-empty { font-weight:400; color:var(--mha-ink); }
#mha-familienkarte .mha-family-symbol { color:#231f1b; filter:grayscale(1); }
#mha-familienkarte .mha-nav .mha-family-symbol, #mha-familienkarte .mha-nav svg.lucide { width:18px; height:18px; color:#231f1b; flex:none; }
#mha-familienkarte .mha-mobile-nav .mha-family-symbol { width:20px; height:20px; }
#mha-familienkarte svg.lucide { stroke-width:1.65; }
#mha-familienkarte .mha-title .mha-family-symbol { width:33px; height:33px; }
#mha-familienkarte .mha-storage-mark { color:#231f1b; background:none; border:0; box-shadow:none; }
#mha-familienkarte .mha-button .mha-family-symbol { color:inherit; }
#mha-familienkarte .mha-scribe { display:none; }
#mha-familienkarte .mha-cover-banner-script { font:400 32px var(--mha-calligraphy); fill:#211b15; }
#mha-familienkarte .mha-cover-book { container-type:inline-size; }
#mha-familienkarte .mha-cover-lettering[data-personalized='true'] { top:49.5%; }
#mha-familienkarte .mha-cover-lettering[data-personalized='true'] strong { font:400 clamp(16px,2.4vw,23px)/1.2 'IM Fell English',Georgia,serif; margin-top:0; }
#mha-familienkarte .mha-cover-lettering[data-personalized='true'] br { display:none; }
#mha-familienkarte .mha-cover-lettering .mha-cover-family-name { font:400 clamp(11px,var(--family-name-size,9cqw),37px)/1.1 var(--mha-calligraphy); margin:7px -8px 0; overflow-wrap:anywhere; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
#mha-familienkarte .mha-cover-login { overflow-x:hidden; padding-right:8px; }
#mha-familienkarte .mha-cover-login h2 { font:400 clamp(34px,3.4vw,43px)/1.15 var(--mha-calligraphy); letter-spacing:0; color:#211c17; transform:rotate(-2deg); filter:none; text-shadow:.2px .2px #241a1640; padding:4px 3px 8px; }
#mha-familienkarte .mha-cover-login label { font:italic 400 20px/1.3 'IM Fell English',Georgia,serif; color:#29211a; }
#mha-familienkarte .mha-cover-login .mha-input { font:400 23px/1.3 'IM Fell English',Georgia,serif; border-bottom-color:#483b2d; }
#mha-familienkarte .mha-cover-login .mha-button { font:italic 400 23px/1.3 'IM Fell English',Georgia,serif; }
#mha-familienkarte .mha-login-glyph { margin-right:-.01em; }
#mha-familienkarte .mha-treasure-person { max-width:230px; }
#mha-familienkarte .mha-treasure-glass { max-width:166px; margin-top:4px; }
#mha-familienkarte .mha-treasure-person-name { margin-top:6px; }
#mha-familienkarte .mha-treasure-total { margin-top:2px; }
#mha-familienkarte .mha-product-symbol-choice { display:flex; align-items:center; gap:20px; margin-bottom:18px; }
#mha-familienkarte .mha-product-symbol-choice>label { flex:1; margin:0; }
#mha-familienkarte .mha-product-symbol-choice .mha-family-symbol { width:40px; height:40px; margin-top:20px; }
#mha-familienkarte .mha-chapter-backdrop { color:#241d17; }
#mha-familienkarte .mha-chapter-plan { opacity:.13; }
#mha-familienkarte .mha-chapter-plan .mha-atlas-name { font-size:13px; }
#mha-familienkarte .mha-chapter-backdrop .mha-atlas-name, #mha-familienkarte .mha-chapter-reverse .mha-atlas-name { fill:currentColor; stroke:none; font-family:'IM Fell English',Georgia,serif; font-style:italic; letter-spacing:.3px; }
#mha-familienkarte .mha-chapter-sketch { top:65px; right:-5px; width:min(49%,615px); height:360px; opacity:.3; mask-image:radial-gradient(ellipse at center,#000 40%,transparent 72%); }
#mha-familienkarte .mha-chapter-sketch .mha-atlas-walls { opacity:.45; }
#mha-familienkarte .mha-chapter-sketch .mha-atlas-room:not(.is-active) { opacity:.3; }
#mha-familienkarte .mha-chapter-sketch .mha-atlas-room:not(.is-active) .mha-atlas-name { opacity:0; }
#mha-familienkarte .mha-chapter-sketch .is-active { color:#18120e; }
#mha-familienkarte .mha-chapter-writing { position:absolute; bottom:1px; left:0; width:100%; height:190px; opacity:.25; }
#mha-familienkarte .mha-paper-stains { position:absolute; inset:0; width:100%; height:100%; opacity:.27; color:#342318; }
#mha-familienkarte .mha-ornament, #mha-familienkarte .mha-masthead::after { filter:brightness(.55); }
#mha-familienkarte .mha-price-suggestion { display:flex; flex:1 0 100%; align-items:center; gap:12px 20px; flex-wrap:wrap; margin:10px 0; padding:12px 0; border-block:1px solid #65543a55; font:13px/1.5 'Manrope',sans-serif; }
#mha-familienkarte .mha-price-suggestion:empty { display:none; }
#mha-familienkarte .mha-price-suggestion>span { flex:1; min-width:180px; }
#mha-familienkarte .mha-closing-spell { position:fixed; inset:0; z-index:150; display:grid; place-items:center; overflow:hidden; pointer-events:auto; }
#mha-familienkarte .mha-closing-spell p { margin:0; padding:30px; max-width:90vw; text-align:center; color:#382e24; font:400 clamp(62px,10vw,150px)/1.15 var(--mha-calligraphy); text-shadow:.4px .4px #30231620; }
#mha-familienkarte[data-farewell] .mha-frame { opacity:.25; transition:opacity .7s; }
#mha-familienkarte[data-farewell] .mha-mobile-nav { opacity:.25; pointer-events:none; }
#mha-familienkarte[data-cover='opening'][data-login] .mha-cover-clean-paper { opacity:0; transition:opacity .35s ease; }
#mha-familienkarte .mha-gem { display:inline-block; width:22px; height:22px; flex:0 0 22px; vertical-align:middle; text-shadow:none; }
#mha-familienkarte .mha-more-grid button svg, #mha-familienkarte .mha-mobile-nav button svg { width:22px; height:22px; flex:0 0 22px; color:#231f1b; }
#mha-familienkarte .mha-more-grid button { gap:12px; align-items:center; }
#mha-familienkarte .mha-more-dialog .mha-form-actions { justify-content:space-between; }
#mha-familienkarte .mha-more-dialog [data-action='logout'] { color:#71313a; }
#mha-familienkarte .mha-navigation-preview { display:flex; flex-wrap:wrap; gap:12px 20px; margin:18px 0; }
#mha-familienkarte .mha-navigation-preview span { display:flex; align-items:center; gap:7px; }
#mha-familienkarte .mha-navigation-preview svg { width:20px; height:20px; color:var(--mha-ink); }
#mha-familienkarte .mha-more-dialog .mha-form-actions { align-items:center; }
#mha-familienkarte .mha-home-quick { display:grid; grid-template-columns:minmax(170px,2fr) minmax(76px,.65fr) minmax(86px,.75fr) minmax(110px,1fr) minmax(125px,1fr) auto; align-items:end; gap:12px; }
#mha-familienkarte .mha-home-quick>label { min-width:0; margin:0; }
#mha-familienkarte .mha-home-quick>label>select { display:block; width:100%; min-height:48px; margin-top:6px; }
#mha-familienkarte .mha-home-quick>.mha-price-suggestion { grid-column:1/-1; }
#mha-familienkarte .mha-task-library { margin-top:22px; padding-top:16px; border-top:1px solid #55493780; }
#mha-familienkarte .mha-task-library summary { min-height:44px; cursor:pointer; font:400 25px/1.5 var(--mha-hand); }
#mha-familienkarte .mha-meal-modes { display:flex; flex-wrap:wrap; gap:12px 22px; }
#mha-familienkarte .mha-dialog .mha-meal-modes label { display:flex; align-items:center; gap:8px; min-height:44px; font-size:14px; }
#mha-familienkarte :is(.mha-meal-modes,.mha-meal-recipe-choice) input[type=radio] { width:18px; height:18px; min-height:0; margin:0; flex:none; accent-color:#34564c; }
#mha-familienkarte :is(.mha-meal-modes,[data-meal-recipes],[data-meal-manual]) { min-width:0; padding:0; margin:14px 0 22px; border:0; }
#mha-familienkarte .mha-meal-recipe-list { max-height:290px; overflow:auto; margin-top:12px; padding:3px; }
#mha-familienkarte .mha-dialog .mha-meal-recipe-choice { display:grid; grid-template-columns:20px 74px minmax(0,1fr); align-items:center; gap:12px; padding:10px 5px; border-bottom:1px solid #55493740; cursor:pointer; }
#mha-familienkarte .mha-meal-recipe-choice:has(input:checked) { background:#3b5d5010; border-bottom-color:#34564c; }
#mha-familienkarte .mha-meal-recipe-choice:focus-within { outline:2px solid #34564c; outline-offset:0; }
#mha-familienkarte .mha-meal-recipe-choice strong { font:400 23px/1.15 var(--mha-hand); overflow-wrap:anywhere; }
#mha-familienkarte .mha-meal-recipe-choice small { display:block; margin-top:4px; font:12px/1.4 'Manrope',sans-serif; color:var(--mha-muted); }
#mha-familienkarte .mha-meal-recipe-picture { width:74px; height:60px; display:grid; place-items:center; border:1px solid #55493780; border-radius:5px 3px 4px; padding:3px; }
#mha-familienkarte .mha-meal-recipe-picture img { width:100%; height:100%; min-height:0; object-fit:contain; border-radius:2px; }
#mha-familienkarte .mha-meal-recipe-picture svg { width:25px; height:25px; }
@media(max-width:1150px) { #mha-familienkarte .mha-home-quick { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:619px) {
  #mha-familienkarte .mha-home-quick { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #mha-familienkarte .mha-home-quick>label:first-child, #mha-familienkarte .mha-home-quick>button { grid-column:1/-1; }
  #mha-familienkarte .mha-dialog .mha-meal-recipe-choice { grid-template-columns:18px 58px minmax(0,1fr); gap:8px; }
  #mha-familienkarte .mha-meal-recipe-picture { width:58px; height:52px; }
}
@media(max-width:760px) { #mha-familienkarte #family-logout { display:none; } }
@media(max-width:619px) {
  #mha-familienkarte .mha-chapter-plan { opacity:.11; }
  #mha-familienkarte .mha-chapter-sketch { top:82px; right:-55px; width:360px; height:280px; opacity:.22; }
  #mha-familienkarte .mha-chapter-writing { width:850px; left:50%; transform:translateX(-50%); height:145px; opacity:.2; }
  #mha-familienkarte .mha-treasure-person { flex-basis:146px; }
  #mha-familienkarte .mha-cover-login h2 { font-size:35px; }
}
/* Calendar categories keep their color across every calendar view. */
#mha-familienkarte .mha-calendar-legend { display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; margin:14px 0; }
#mha-familienkarte .mha-calendar-legend > span { display:inline-flex; align-items:center; gap:7px; font-size:13px; }
#mha-familienkarte .mha-calendar-legend i, #mha-familienkarte .mha-month-colors i { display:inline-block; width:9px; height:9px; border-radius:50%; background:var(--category-color); box-shadow:inset 0 0 0 1px #0002; }
#mha-familienkarte .mha-calendar-legend > button { margin-left:auto; }
#mha-familienkarte .mha-category-editor { display:grid; grid-template-columns:minmax(100px,1fr) 110px auto; align-items:end; gap:12px; padding:12px 0; border-bottom:1px solid #8d673c33; }
#mha-familienkarte .mha-category-editor label { min-width:0; }
#mha-familienkarte .mha-category-editor input[type=color] { width:100%; min-height:42px; padding:3px; }
#mha-familienkarte [data-add-category] { margin-top:16px; }
#mha-familienkarte .mha-month-colors { display:flex; flex-wrap:wrap; justify-content:center; gap:4px; min-height:9px; margin-top:6px; }
#mha-familienkarte :is(.mha-event,.mha-multiday) { position:relative; overflow:hidden; background:var(--event-bg); border-left:4px solid var(--event-color); }
#mha-familienkarte .mha-multiday { padding-bottom:7px; }
#mha-familienkarte .mha-multiday::after { content:''; position:absolute; height:3px; right:0; bottom:0; left:0; background:var(--event-stripe,var(--event-color)); }
/* The 2.65 MB interior paper texture is only needed after opening the cover. */
#mha-familienkarte[data-cover='closed'] { --mha-paper-image:none; }
@media(max-width:520px) {
  #mha-familienkarte .mha-category-editor { grid-template-columns:minmax(100px,1fr) 82px; gap:8px; }
  #mha-familienkarte .mha-category-editor > button { grid-column:1 / -1; justify-self:start; }
  #mha-familienkarte .mha-calendar-legend > button { margin-left:0; }
}
