.poster{--paper:#06363b;--text:#fff9e9;--accent:#f5d479;--secondary:#c4d9d6;--track:#446061;container-type:inline-size;width:100%;aspect-ratio:1;background:var(--paper);color:var(--text);padding:3.5%;display:flex;flex-direction:column;gap:2cqw;overflow:hidden;font-family:Arial,Helvetica,sans-serif;position:relative}
.poster *{box-sizing:border-box}.poster-brand{font-size:2.5cqw;letter-spacing:.3cqw;font-weight:700;text-align:center;line-height:1.2;color:var(--secondary)}
.poster .poster-title{font-family:inherit;font-size:11.8cqw;letter-spacing:-.45cqw;line-height:1.04;font-weight:900;margin:0;color:var(--accent);text-align:center;text-transform:uppercase;overflow-wrap:anywhere}.poster .long-title{font-size:7.8cqw;letter-spacing:-.2cqw;line-height:1.02}
.poster-body{display:grid;grid-template-columns:39% 58%;gap:3%;align-items:center;flex:1;min-height:0}.poster-numbers{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.poster-label{font-size:2.8cqw;font-weight:700;letter-spacing:.15cqw;color:var(--secondary);margin-bottom:3cqw}.poster-currency{font-size:5.5cqw;font-weight:700;line-height:1}.poster-amount{font-size:10.4cqw;font-weight:900;letter-spacing:-.55cqw;line-height:1.1;margin-top:.7cqw;font-variant-numeric:tabular-nums}.poster .long-amount{font-size:7cqw;letter-spacing:-.3cqw}.poster-target{margin-top:5cqw;display:flex;flex-direction:column;gap:1cqw}.poster-target span{font-size:2.5cqw;letter-spacing:.2cqw;color:var(--secondary);font-weight:700}.poster-target strong{font-size:5.6cqw;line-height:1.1;color:var(--accent);font-weight:800;letter-spacing:-.15cqw;overflow-wrap:anywhere}
.poster-qr-group{width:100%;min-width:0}.poster-qr{width:100%;aspect-ratio:1;position:relative;overflow:hidden;background:#fff;border-radius:1.2cqw}.poster-qr img{width:100%;height:100%;object-fit:contain;display:block}.poster-qr.original-window img{position:absolute;width:304.878%;max-width:none;height:auto;left:-102.439%;top:-104.878%}.poster-scan{font-size:3.1cqw;font-weight:800;letter-spacing:.06cqw;text-align:center;margin-top:2cqw;line-height:1.1;color:var(--accent)}.poster-meter{height:10cqw;flex-shrink:0;position:relative;background:var(--track);overflow:hidden;border-radius:1.3cqw;display:flex;align-items:center}.poster-meter>div{position:absolute;inset:0 auto 0 0;background:var(--accent)}.poster-meter>span{position:relative;color:var(--text);background:var(--paper);font-weight:900;font-size:3.9cqw;letter-spacing:-.08cqw;margin-left:1.5cqw;padding:.5cqw 1cqw;border-radius:.5cqw}.poster-footer{text-align:center;font-size:1.9cqw;font-weight:700;letter-spacing:.1cqw;line-height:1.2;color:var(--secondary);margin-top:.5cqw}.poster-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2cqw;color:#42625d}.poster-placeholder strong{font-size:5cqw}.poster-placeholder span{font-size:3cqw}
.poster-midnight{--paper:#101b2b;--accent:#edc46f;--secondary:#becbda;--track:#354151;background:radial-gradient(ellipse at top right,#293a50,#101b2b 70%)}.poster-midnight .poster-title{font-family:Georgia,serif;font-weight:400}.poster-midnight .poster-qr-group{order:-1}.poster-midnight .poster-body{grid-template-columns:58% 39%}.poster-midnight .poster-amount{font-family:Georgia,serif;font-weight:400}.poster-midnight .poster-meter{border-radius:0}
.poster-ivory{--paper:#f4efdf;--text:#173e3b;--accent:#805e22;--secondary:#416560;--track:#ddd4bf}.poster-ivory .poster-title{font-family:Georgia,serif;font-weight:400;text-align:left}.poster-ivory .poster-brand{text-align:left}.poster-ivory .poster-amount{font-family:Georgia,serif;font-weight:400}.poster-ivory .poster-qr{border-radius:0}.poster-ivory .poster-meter{height:8cqw;border-radius:0}
.poster-emerald{--paper:#053f30;--accent:#e2d495;--secondary:#bcddc9;--track:#30624e;border:1.3cqw solid #d7c887;padding:3%;background:radial-gradient(at bottom left,#18694b,#053f30 70%)}.poster-emerald .poster-title{font-size:10.5cqw}.poster-emerald .long-title{font-size:7.5cqw}.poster-emerald .poster-qr{border-radius:4cqw}.poster-emerald .poster-meter{border-radius:8cqw}.poster-emerald .poster-brand{letter-spacing:.45cqw}
.poster-royal{--paper:#123793;--accent:#ffdc6f;--secondary:#d3e2ff;--track:#365eb1}.poster-royal .poster-brand{background:#ffdc6f;color:#16378b;padding:1cqw}.poster-royal .poster-title{font-style:italic;font-size:11.5cqw;text-align:left}.poster-royal .long-title{font-size:7.6cqw}.poster-royal .poster-qr-group{order:-1}.poster-royal .poster-body{grid-template-columns:58% 39%}.poster-royal .poster-meter{border-radius:0;height:12cqw}.poster-royal .poster-amount{font-weight:900}
.poster-burgundy{--paper:#571f31;--accent:#f5cc9b;--secondary:#ebc9cd;--track:#82485a}.poster-burgundy .poster-title{font-family:Georgia,serif;font-weight:400}.poster-burgundy .poster-qr{border-radius:3cqw}.poster-burgundy .poster-currency{font-family:Georgia,serif}.poster-burgundy .poster-meter{height:8cqw;border-radius:0}.poster-burgundy .poster-brand{letter-spacing:.45cqw}.poster-burgundy .poster-numbers{border-left:.6cqw solid var(--accent);padding-left:2cqw}.poster-burgundy .poster-amount{font-size:9.3cqw}.poster-burgundy .long-amount{font-size:6.8cqw}
.poster-sunrise{--paper:#f5c24e;--text:#232c25;--accent:#264c3e;--secondary:#4c482d;--track:#dbab39}.poster-sunrise .poster-title{text-align:left;font-size:12cqw;letter-spacing:-.6cqw}.poster-sunrise .long-title{font-size:7.6cqw}.poster-sunrise .poster-brand{text-align:left}.poster-sunrise .poster-qr{border-radius:0;box-shadow:1.5cqw 1.5cqw 0 #9c7429}.poster-sunrise .poster-meter{border-radius:0}.poster-sunrise .poster-target{margin-top:3cqw}
.poster-ink{--paper:#f5f4ee;--text:#161b1b;--accent:#161b1b;--secondary:#424b49;--track:#d0d4cf}.poster-ink .poster-title{background:#161b1b;color:#f5f4ee;padding:2cqw 1cqw;font-size:10.5cqw}.poster-ink .long-title{font-size:7cqw}.poster-ink .poster-body{grid-template-columns:58% 39%}.poster-ink .poster-qr-group{order:-1}.poster-ink .poster-meter{height:11cqw;border-radius:0}.poster-ink .poster-qr{border-radius:0}
.poster-arch{--paper:#102f33;--accent:#e5bc74;--secondary:#c4d8cc;--track:#385553;background:radial-gradient(ellipse at 72% 40%,#2b5753,#102f33 65%)}.poster-arch .poster-title{font-family:Georgia,serif;font-weight:400}.poster-arch .poster-qr-group{background:#e5bc74;padding:6cqw 2cqw 2cqw;border-radius:28cqw 28cqw 2cqw 2cqw}.poster-arch .poster-scan{color:#102f33;font-size:2.7cqw}.poster-arch .poster-qr{border-radius:0}.poster-arch .poster-meter{border-radius:10cqw;height:8cqw}
.poster-split{--paper:#163e40;--accent:#f0cf83;--secondary:#d0dcd1;--track:#43645f;background:linear-gradient(90deg,#163e40 43%,#d7b56a 43%)}.poster-split .poster-brand,.poster-split .poster-title,.poster-split .poster-footer{background:#163e40;padding:.8cqw}.poster-split .poster-scan{color:#173e3e}.poster-split .poster-title{font-size:10.5cqw}.poster-split .long-title{font-size:7.3cqw}.poster-split .poster-meter{border-radius:0}.poster-split .poster-qr{border-radius:0}
.poster-sage{--paper:#dce4d5;--text:#224739;--accent:#315a42;--secondary:#506b56;--track:#b9c9b2}.poster-sage .poster-brand{text-align:left;letter-spacing:.18cqw}.poster-sage .poster-title{font-family:Georgia,serif;font-weight:400;text-align:left}.poster-sage .poster-body{grid-template-columns:58% 39%}.poster-sage .poster-qr-group{order:-1}.poster-sage .poster-qr{border-radius:4cqw}.poster-sage .poster-meter{height:7cqw;border-radius:5cqw}.poster-sage .poster-amount{font-weight:500;letter-spacing:-.5cqw}
.kiosk-settings{margin-top:18px}.kiosk-checks{display:grid;gap:8px;margin:15px 0}.kiosk-checks label{margin:0;display:flex;align-items:center;gap:8px;font-size:11px}.kiosk-checks input{width:16px;margin:0}.style-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-top:25px}.style-choice{padding:9px;background:#fff;border:1px solid #d7dfd8;border-radius:8px;text-align:left;color:#28463b}.style-choice.selected{outline:2px solid #aa914d}.style-choice>span{display:block;padding:12px 3px 3px;font-size:12px}.style-gallery .poster{pointer-events:none}.kiosk-link{display:block;margin-top:14px;font-size:12px}.kiosk-slide{animation:kiosk-enter .6s ease-out}.public-display #app{overflow:hidden}.kiosk-offline{position:fixed;bottom:0;left:0;right:0;background:#624a23;color:white;text-align:center;padding:8px;font-size:12px}@keyframes kiosk-enter{from{transform:translateX(100%)}to{transform:translateX(0)}}@media(prefers-reduced-motion:reduce){.kiosk-slide{animation:none}}
/* Descendant spacing scales to each poster, including gallery thumbnails. */
.poster{gap:0}.poster-brand{margin-bottom:2cqw}.poster .poster-title{margin-bottom:2cqw}.poster-meter{margin-top:2cqw}.poster-footer{margin-top:2cqw}.poster-emerald{border:0;box-shadow:inset 0 0 0 5px #d7c887}
.poster:has(.long-title) .poster-qr-group{width:88%;justify-self:end}
.poster-arch .poster-qr-group{width:92%;justify-self:end;padding:4cqw 2cqw 2cqw}
.poster-arch:has(.long-title) .poster-qr-group{width:82%}
.poster-progress{display:flex;align-items:center;gap:2cqw;margin-top:2cqw;flex-shrink:0;min-width:0}
.poster .poster-progress .poster-meter{flex:1;min-width:0;margin-top:0}
.poster-percent{color:var(--text);font-size:10.4cqw;font-weight:900;letter-spacing:-.4cqw;font-variant-numeric:tabular-nums;min-width:4.5ch;flex-shrink:0;text-align:right;white-space:nowrap;line-height:1.1}
.poster-split .poster-percent{color:#163e40}
/* Fit the QR and its caption inside the space left by the title and meter. */
.poster-body{container-type:size}
.poster .poster-body .poster-qr-group{width:min(100%,calc(100cqh - 7cqw));justify-self:center}
.poster.poster-arch .poster-body .poster-qr-group{width:min(100%,calc(100cqh - 11cqw));padding:4cqw 2cqw 2cqw}
