*{box-sizing:border-box}body{margin:0;background:var(--t26-bg);color:var(--t26-ink-900);font-family:var(--t26-font)}#poster-view{min-height:100vh;padding:14px;background:var(--t26-bg)}.poster-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;max-width:1500px;margin:0 auto}.poster-toolbar h1{margin:0;font-size:24px}.poster-toolbar p{margin:4px 0;font-size:14px}.poster-toolbar nav,.print-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}select{font:inherit;max-width:100%;padding:7px;border:1px solid #aab2bc;border-radius:5px;background:white}.poster-toolbar label{display:flex;align-items:center;gap:6px}.poster-hint{font-size:15px;text-align:center;margin:8px 0}.poster-stage{position:relative;width:min(100%,calc((100vh - 185px)*1.5));margin:auto;background:white;container-type:inline-size}.poster-stage img{display:block;width:100%;height:auto}.poster-target{position:absolute;border:0;padding:0;background:transparent;cursor:pointer;color:#000;font:inherit}.poster-label{position:absolute;transform:translate(-50%,-50%);padding:.12em .4em;background:#fff;border:1px solid #222;border-radius:3px;font-size:clamp(10px,var(--label-size),36px);font-weight:600;white-space:nowrap;line-height:1.18;pointer-events:none}.label-wrap{white-space:normal;width:98%;overflow-wrap:anywhere;text-align:center}.is-hidden .poster-label{visibility:hidden}.poster-target:focus-visible{outline:3px solid var(--t26-primary);outline-offset:-3px}.poster-status{text-align:center;margin:4px;font-size:14px}#poster-view:fullscreen{overflow:auto}.print-options{max-width:1500px;margin:10px auto;padding:8px 10px;background:white;border:1px solid #d1d6de;border-radius:6px}.print-options summary{cursor:pointer;font-weight:600}.print-toolbar{margin-top:10px}.print-selection{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:10px;border:1px solid #ddd}.print-options p{font-size:13px;margin:7px 0}.print-title,#print-queue{display:none}[hidden]{display:none!important}@media(max-width:650px){.poster-stage{width:100%}.poster-toolbar h1{font-size:21px}.poster-hint{font-size:13px}.poster-toolbar nav{gap:5px;max-width:100%}.poster-toolbar .t26-btn{font-size:13px;padding:7px}.poster-toolbar label{min-width:0;width:100%}.poster-toolbar select{min-width:0;flex:1}.print-selection{display:grid;grid-template-columns:1fr}}
@page{size:A4 landscape;margin:10mm}
@page poster-single{size:A4 landscape;margin:10mm}
@page poster-pair{size:A4 portrait;margin:10mm}
@page poster-four{size:A4 landscape;margin:10mm}
@media screen{
 body,#poster-view{background:var(--t26-bg);color:var(--t26-ink-900);font-family:var(--t26-font)}
 select{min-height:var(--t26-action-height);border-color:var(--t26-border);border-radius:var(--t26-radius-sm);color:var(--t26-ink-900)}
 .print-options{border-color:var(--t26-border);border-radius:var(--t26-radius-md)}
 .print-selection label{display:flex;align-items:center;gap:8px;min-height:var(--t26-action-height);cursor:pointer}
 .print-selection input{flex:0 0 auto;width:19px;height:19px;accent-color:var(--t26-primary)}
 .poster-label{z-index:1}
 .poster-label{pointer-events:auto;cursor:pointer}
 .poster-target:focus-visible{outline-color:rgba(49,83,68,.72)}
}
@media print{
 body{background:white;margin:0;padding:0}
 #poster-view{display:none}
 #print-queue{display:block;width:auto;max-width:none}
 .print-page{break-after:page;break-inside:avoid;page-break-inside:avoid;margin:0;padding:0}
 .print-page:last-child{break-after:auto}
 .print-page[data-layout="1"]{page:poster-single;width:267mm}
 .print-page[data-layout="2"]{page:poster-pair;width:190mm;height:275mm;display:grid;grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:6mm}
 .print-page[data-layout="4"]{page:poster-four;width:267mm;height:188mm;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:6mm}
 .poster-sheet{min-width:0;break-inside:avoid;page-break-inside:avoid;margin:0;padding:0}
 .print-title{display:flex;justify-content:space-between;align-items:center;margin:0 0 2mm;font-size:13pt;height:7mm}
 .print-title small{font-size:9pt;font-weight:normal}
 .poster-stage{width:260mm;max-width:100%;margin:auto;break-inside:avoid}
 .poster-stage img{width:100%}
 .poster-label{font-size:var(--label-size);border:1px solid black;background:white!important;color:black!important;visibility:visible!important;print-color-adjust:exact}
 #print-queue[data-text="without"] .poster-label,#print-queue[data-text="without"] .print-title{display:none}
 .poster-target:focus-visible{outline:none}
 .print-page[data-layout="2"] .poster-stage{width:184mm}
 .print-page[data-layout="2"] .print-title{width:184mm;margin:0 auto 1.5mm;font-size:11pt;height:5mm}
 .print-page[data-layout="2"] .print-title small{font-size:7pt}
 .print-page[data-layout="4"] .poster-stage{width:126mm}
 .print-page[data-layout="4"] .print-title{width:126mm;margin:0 auto 1.5mm;font-size:9pt;height:5mm}
 .print-page[data-layout="4"] .print-title small{display:none}
}

/* Keep actions that change the on-screen poster visibly together. */
.poster-view-controls{display:flex;align-items:center;gap:6px;padding:4px;border:1px solid var(--t26-border);border-radius:var(--t26-radius-md);background:rgba(255,255,255,.62)}
@media(max-width:650px){.poster-view-controls{max-width:100%}.poster-view-controls .t26-btn{flex:1}}
/* Fit every poster's real aspect ratio inside its selected print slot. */
@media print {
 .print-page[data-layout="1"] .poster-stage {width:min(260mm,calc(175mm * var(--poster-ratio,1.5)))}
 .print-page[data-layout="2"] .poster-stage {width:min(184mm,calc(124mm * var(--poster-ratio,1.5)))}
 .print-page[data-layout="4"] .poster-stage {width:min(126mm,calc(84mm * var(--poster-ratio,1.5)))}
}
