/* kh-halloween-print.css - v1.16.5 */
.kh-hus-overview{display:block;position:relative;width:100%;padding:10px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;cursor:pointer}
.kh-frame{flex:1 1 auto;min-height:0;width:100%;border:0;display:block;border-radius:0 0 12px 12px}
.kh-print-badge{position:absolute;left:4%;bottom:4%;width:8%;min-width:12px;max-width:22px;display:flex;color:#1c2430;pointer-events:none}
.kh-print-badge svg{width:100%;height:auto;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.kh-hus-overview:hover .kh-print-badge{color:#2869ae}
.kh-hus-overview img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.kh-hus-overview-grid img{aspect-ratio:auto}
.kh-hus-overview:hover{border-color:#4a90e2}
.kh-print-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:14px}
.kh-print-options:has(> .kh-print-option:first-child:nth-last-child(3)){grid-template-columns:repeat(2,minmax(0,1fr))}
.kh-print-options-houses{grid-template-columns:minmax(0,1fr)}
.kh-print-option{min-width:0}
.kh-print-option:last-child:nth-child(odd){grid-column:1/-1}
.kh-print-option:first-child:nth-last-child(2),.kh-print-option:first-child:nth-last-child(2)+.kh-print-option{grid-column:1/-1}
.kh-print-options-documents{grid-template-columns:repeat(2,minmax(0,1fr))}
.kh-print-options.kh-print-options-documents > .kh-print-option:nth-child(n){grid-column:auto}
.kh-print-options-documents .kh-hus-overview img{height:auto;aspect-ratio:210/297}
.kh-print-sheet-overviews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.kh-print-options:not(.kh-print-options-houses):not(.kh-print-options-documents) .kh-hus-overview:not(.kh-hus-overview-grid) img:not([data-kh-overview]){height:120px;aspect-ratio:auto}
.kh-print-open{display:inline-flex;align-items:center;gap:7px;margin-top:8px;border:1.5px solid #e5e7eb;border-radius:8px;padding:8px 10px;background:#fff;font:inherit;font-size:.82rem;font-weight:600;color:#1c2430;cursor:pointer;text-align:left}
.kh-print-open:hover{border-color:#4a90e2;color:#2869ae}
.kh-print-open svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.kh-hus-dialog{padding:0;border:0;border-radius:12px;width:min(1120px,calc(100% - 32px));max-width:none;
  height:min(850px,calc(100dvh - 32px));max-height:none;color:#1c2430;background:#fff;box-shadow:0 16px 60px #0005}
.kh-hus-dialog::backdrop{background:#13202f99}
/* The page behind stands still while a print dialog is open. Without this the wheel went on
   to the page as soon as the dialog had nothing more to scroll. The gutter keeps the page
   as wide as it was, so nothing jumps sideways when the scrollbar goes. */
html:has(dialog.kh-hus-dialog[open]){overflow:hidden;scrollbar-gutter:stable}
.kh-hus-dialog,.kh-hus-body,.kh-hus-controls,.kh-hus-stage{overscroll-behavior:contain}
.kh-hus-dialog[open]{display:flex;flex-direction:column}
.kh-hus-dialog *{box-sizing:border-box}
.kh-hus-dialog button,.kh-hus-dialog select,.kh-hus-dialog input{font:inherit}
.kh-hus-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #e5e7eb;gap:12px}
.kh-hus-header h2{margin:0;font-size:1rem;color:#16324f}
.kh-hus-close{border:1px solid #cfd8dc;background:#fff;border-radius:7px;padding:5px 12px;cursor:pointer}
.kh-hus-body{display:flex;flex:1;min-height:0}
.kh-hus-controls{width:280px;flex:none;padding:18px;overflow:auto;border-right:1px solid #e5e7eb}
.kh-hus-label{display:block;font-size:.8rem;font-weight:600;color:#546e7a;margin:0 0 8px}
.kh-hus-document-controls select{width:100%;padding:8px;border:1px solid #cfd8dc;border-radius:6px;background:#fff;font:inherit;margin-bottom:14px}
.kh-guide-note{font-size:.78rem;line-height:1.4;color:#546e7a;margin:0 0 16px}
.kh-hus-size{display:flex;justify-content:space-between;align-items:center}
.kh-hus-size output{font-size:.85rem;color:#16324f;font-variant-numeric:tabular-nums}
.kh-hus-controls input[type=range]{width:100%;accent-color:#4a90e2;cursor:pointer;margin:3px 0 6px}
.kh-hus-range-labels{display:flex;justify-content:space-between;font-size:.72rem;color:#78909c;margin-bottom:20px}
.kh-hus-selection-title{display:flex;justify-content:space-between;align-items:center;margin:18px 0 8px}
.kh-hus-selection-title .kh-hus-label{margin:0}
.kh-hus-window-choices{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.kh-hus-window-choices[hidden]{display:none}
.kh-hus-window-choices button{display:flex;align-items:center;justify-content:center;gap:5px;flex:1 1 calc(50% - 3px);padding:7px 3px;border:1px solid #cfd8dc;border-radius:6px;background:#fff;font-size:.72rem;cursor:pointer;white-space:nowrap}
.kh-hus-window-choices button[aria-pressed=true]{border-color:#4a90e2;background:#eef4fb;color:#16324f}
.kh-hus-window-choices.kh-hus-plane-choices{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.kh-hus-plane-choices button{justify-content:flex-start;padding:10px;text-align:left;white-space:normal;font-size:.82rem}
.kh-hus-plane-choices button::before{content:'';display:inline-flex;align-items:center;justify-content:center;flex:none;width:16px;height:16px;border:1px solid #9aa8b6;border-radius:3px;background:#fff}
.kh-hus-plane-choices button[aria-pressed=true]::before{content:'✓';border-color:#4a90e2;color:#2869ae}
.kh-hus-window-dot{display:inline-block;width:10px;height:12px;border:1px solid #707780;flex:none}
.kh-hus-window-dot.yellow{background:#ffd94b}
.kh-hus-window-dot.white{background:#fff}
.kh-hus-window-dot.black{background:#111}
.kh-hus-text-button{border:0;background:none;color:#2869ae;font-size:.75rem!important;cursor:pointer;padding:4px}
.kh-hus-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.kh-hus-choices[hidden]{display:none}
.kh-hus-topic-heading{grid-column:1/-1;margin:8px 0 0;font-size:.72rem;font-weight:600;color:#546e7a}
.kh-hus-topic-heading:first-child{margin-top:0}
.kh-hus-choice{position:relative;border:1px solid #dce2e7;border-radius:6px;background:white;padding:5px;cursor:pointer;aspect-ratio:1}
.kh-hus-choice img{width:100%;height:100%;object-fit:contain;display:block}
.kh-hus-choice[aria-pressed=true]{border:2px solid #4a90e2;background:#eef4fb;padding:4px}
.kh-hus-choice[aria-pressed=true]::after{content:'✓';position:absolute;right:-3px;top:-5px;border-radius:50%;background:#4a90e2;color:white;font-size:10px;width:15px;height:15px;line-height:15px}
.kh-hus-print-button{display:block;width:100%;border:0;border-radius:7px;background:#4a90e2;color:white;font-weight:600!important;padding:10px;cursor:pointer}
.kh-hus-print-button:disabled{opacity:.5;cursor:default}
.kh-hus-error{color:#a52a2a;font-size:.8rem;margin:10px 0}
.kh-hus-error:empty{display:none}
.kh-hus-preview{background:#edf0f3;flex:1;min-width:0;display:flex;flex-direction:column}
.kh-hus-preview-status{text-align:center;padding:12px;flex:none;font-size:.85rem;color:#546e7a}
.kh-hus-stage{flex:1;min-height:0;overflow:auto;scrollbar-gutter:stable;padding:8px 20px 24px;display:flex;flex-direction:column;align-items:center;gap:24px}
.kh-hus-preview-page{margin:0;flex:none}
.kh-hus-preview-page figcaption{text-align:center;font-size:.75rem;color:#607d8b;padding-top:8px}
.kh-hus-paper-wrap{position:relative;flex:none;background:#fff;box-shadow:0 2px 12px #20304026}
.kh-hus-sheet{width:210mm;height:297mm;display:flex;align-items:center;justify-content:center;background:white;flex:none;overflow:hidden}
.kh-hus-sheet-landscape-full{width:297mm;height:210mm}
.kh-hus-sheet-landscape-full .kh-hus-content{width:297mm;height:210mm}
.kh-print-options-landscape .kh-hus-overview img{aspect-ratio:297/210}
.kh-hus-paper-wrap .kh-hus-sheet{position:absolute;left:0;top:0;transform-origin:top left}
.kh-hus-content{width:182mm;height:262mm;flex:none;position:relative;overflow:hidden}
.kh-hus-cell{position:absolute;display:flex;align-items:center;justify-content:center}
.kh-hus-cell img{display:block;width:100%;height:100%;object-fit:contain}
.kh-print-footer{position:absolute;left:0;right:0;bottom:0;text-align:center}
.kh-print-topic{font:600 10pt/6mm Arial,sans-serif;color:#222}
.kh-print-instruction{font:9pt/4mm Arial,sans-serif;color:#222;white-space:pre-line}
.kh-print-instruction + .kh-print-credit{margin-top:1.5mm}
.kh-print-credit{font:7pt/3.5mm Arial,sans-serif;color:#555}
.kh-print-brand{position:absolute;right:0;bottom:0;font:7pt/3.5mm Arial,sans-serif;color:#555}
.kh-hus-empty{color:#607d8b;text-align:center;padding:60px 20px}
#kh-hus-print-area{display:none}
@page kh-hus-landscape-full{size:297mm 210mm;margin:0}
@page kh-hus-page{size:A4 portrait;margin:14mm 12mm 12mm}
@media print{
  html.kh-public-preview-mode body{display:none!important}
  html:has(body.kh-hus-print){height:100%;min-height:0;overflow:visible!important}
  body.kh-hus-print{page:kh-hus-page;display:block!important;height:100%;min-height:0;margin:0!important;padding:0!important;overflow:visible!important;background:white}
  body.kh-hus-print > :not(#kh-hus-print-area){display:none!important}
  body.kh-hus-print #kh-hus-print-area{display:block;height:100%}
  body.kh-hus-print-landscape-full{page:kh-hus-landscape-full}
  #kh-hus-print-area .kh-hus-sheet-landscape-full .kh-hus-content{width:100%;height:100%}
  #kh-hus-print-area .kh-hus-sheet-landscape-full .kh-hus-cell{width:100%!important;height:100%!important}
  #kh-hus-print-area .kh-hus-sheet-landscape-full img{object-fit:fill}
  #kh-hus-print-area .kh-hus-sheet{width:100%;height:100%;break-after:page;page-break-after:always;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  #kh-hus-print-area .kh-hus-sheet:last-child{break-after:auto;page-break-after:auto}
}
@media(max-width:700px){
  .kh-hus-dialog{width:100%;height:100dvh;border-radius:0;max-height:100dvh}
  .kh-hus-header{padding:12px}
  .kh-hus-body{flex-direction:column;overflow:auto}
  .kh-hus-controls{width:100%;overflow:visible;border-right:0;border-bottom:1px solid #e5e7eb;padding:14px}
  .kh-hus-choices{grid-template-columns:repeat(8,minmax(0,1fr))}
  .kh-hus-preview{flex:none;min-height:460px}
  .kh-hus-stage{min-height:400px;overflow:visible;padding:8px 14px 20px}
}
