*{box-sizing:border-box}body{margin:0;background:#f1f6f7;color:#173c48;font:15px system-ui,-apple-system,sans-serif}.wrap{max-width:1180px;margin:auto;padding:0 18px}header{background:#124552;color:#fff;padding:22px 0}header h1{margin:10px 0 3px}header a{color:#d9f8f1}header p{margin:0;color:#c7e4e8}.panel{background:#fff;border:1px solid #d4e3e6;border-radius:15px;padding:20px;margin:18px 0;box-shadow:0 3px 15px #193a4510}h2{margin:0 0 15px}.toolbar{display:flex;gap:9px;flex-wrap:wrap;align-items:end}.toolbar label{display:flex;flex-direction:column;gap:5px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.tile{padding:17px;border:1px solid #cddfe3;border-radius:12px}.tile h3{margin:0 0 7px}.tile p{font-size:13px;color:#526c76;min-height:35px}button,.button{display:inline-block;background:#176f83;border:0;border-radius:8px;padding:10px 13px;color:white;text-decoration:none;cursor:pointer;font:600 14px system-ui}button:hover,.button:hover{background:#0d5566}.tile a:not(.button){color:#176f83;margin-left:8px}input{border:1px solid #b9d0d6;border-radius:7px;padding:10px;font:inherit}#title{width:min(360px,80vw)}.muted{color:#657a82;font-size:13px}.entry{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid #dbe6e8;border-radius:9px;margin:8px 0}.entry .detail{flex:1}.entry small{display:block;color:#687b83}.entry button{padding:7px 10px}.entry .remove{background:#a83939}dialog{width:min(680px,95vw);max-height:80vh;overflow:auto;border:0;border-radius:14px;padding:22px}dialog::backdrop{background:#142c3c9c}#search{width:100%;margin-bottom:12px}.paper{display:none}@media print{@page{size:A4 portrait;margin:10mm}header,main,dialog{display:none!important}body{background:white;color:black}.paper{display:block;width:190mm;min-height:276mm;break-after:page;page-break-after:always;font:11pt Arial,sans-serif}.paper:last-child{break-after:auto;page-break-after:auto}.paper h2{font-size:17pt;margin:0 0 6mm}.paper h3{font-size:12pt}.question{margin:0 0 5mm;break-inside:avoid}.question img{max-width:100%;max-height:55mm;object-fit:contain}.cells{display:grid;grid-template-columns:repeat(3,1fr);gap:3mm}.cell{border:1px solid #aaa;padding:2mm;min-height:42mm;break-inside:avoid;overflow:hidden}.cell img{max-width:100%;max-height:33mm;object-fit:contain}.cocktail{font-size:13pt}.paper .muted{color:#444}}
#quizLogo{padding:10px;border:1px solid #b9d0d6;border-radius:7px;max-width:240px}.logo-settings{margin:14px 0}.logo-settings input{width:155px}#logoPreview{position:relative;border:1px dashed #a7c3ca;background:#f9fcfc;border-radius:9px;height:115px;max-width:420px;padding:12px;overflow:hidden;color:#71858b}#logoPreview img{display:block;max-height:90px;max-width:90%;object-fit:contain}.paper{position:relative}.event-svg-logo{position:absolute;top:2%;left:80%;width:25mm;max-height:35mm;object-fit:contain;z-index:2}@media print{.paper{height:276mm;min-height:0;overflow:hidden;break-after:page;page-break-after:always}.paper:last-child{break-after:auto;page-break-after:auto}.paper h2{padding-right:34mm}}

/* Locked full-bleed A4 pages: never reflow the saved design. */
@media print{@page{size:210mm 297mm;margin:0}html,body{margin:0!important;padding:0!important}.paper.locked-a4{display:block!important;position:relative!important;box-sizing:border-box!important;width:210mm!important;height:297mm!important;min-height:0!important;max-height:297mm!important;margin:0!important;padding:0!important;overflow:hidden!important;break-inside:avoid!important;break-after:page!important;page-break-after:always!important}.paper.locked-a4:last-child{break-after:auto!important;page-break-after:auto!important}.locked-page-image{display:block!important;width:210mm!important;height:297mm!important;max-width:none!important;max-height:none!important;object-fit:fill!important;margin:0!important;padding:0!important;border:0!important}}

/* Safari: use a tiny sub-mm safety gap to avoid phantom overflow pages. */
@media print {
 @page { size: A4 portrait; margin: 0 !important; }
 html,body { width:210mm!important; margin:0!important; padding:0!important; overflow:visible!important; }
 #printArea { display:block!important; margin:0!important; padding:0!important; width:210mm!important; }
 #printArea>.paper.locked-a4 { display:block!important; width:210mm!important; height:296.5mm!important; min-height:0!important; max-height:296.5mm!important; margin:0!important; padding:0!important; border:0!important; overflow:hidden!important; box-sizing:border-box!important; break-before:auto!important; page-break-before:auto!important; break-inside:avoid!important; page-break-inside:avoid!important; break-after:page!important; page-break-after:always!important; }
 #printArea>.paper.locked-a4:last-child { break-after:auto!important; page-break-after:auto!important; }
 #printArea>.paper.locked-a4>.locked-page-image { display:block!important; width:210mm!important; height:296.5mm!important; max-width:none!important; max-height:none!important; margin:0!important; padding:0!important; object-fit:fill!important; }
}

/* Safari pagination repair: only the NEXT page starts a new sheet.
   A reserved bottom strip avoids rounding overflow from the A4 image box. */
@media print {
  @page { size: A4 portrait; margin: 0; }
  html, body { width: 210mm !important; height: auto !important; margin: 0 !important; padding: 0 !important; }
  #printArea { width: 210mm !important; margin: 0 !important; padding: 0 !important; }
  #printArea > .paper.locked-a4 {
    display: block !important; position: relative !important;
    width: 210mm !important; height: 289mm !important;
    min-height: 0 !important; max-height: 289mm !important;
    padding: 0 !important; margin: 0 !important; border: 0 !important;
    overflow: hidden !important; box-sizing: border-box !important;
    break-after: auto !important; page-break-after: auto !important;
    break-before: auto !important; page-break-before: auto !important;
    break-inside: avoid !important; page-break-inside: avoid !important;
  }
  #printArea > .paper.locked-a4 + .paper.locked-a4 {
    break-before: page !important; page-break-before: always !important;
  }
  #printArea > .paper.locked-a4 > .locked-page-image {
    display: block !important; width: 210mm !important; height: 289mm !important;
    max-width: none !important; max-height: none !important;
    margin: 0 !important; padding: 0 !important; border: 0 !important;
    object-fit: fill !important;
  }
}
