#campaign-field-story{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#273b32;color:#f7ebd4;overflow:hidden}
#campaign-field-story::backdrop{background:#172a23}
#campaign-field-canvas{display:block;width:100%;height:100%;touch-action:manipulation}
.campaign-field-heading{position:absolute;top:max(12px,env(safe-area-inset-top));left:max(20px,env(safe-area-inset-left));right:max(20px,env(safe-area-inset-right));display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:12px 16px;background:linear-gradient(100deg,#1a2c27ed,#1a2c27a3);border:1px solid #ddc29839;border-radius:12px;box-sizing:border-box}
.campaign-field-heading small{color:#ddc897;font:400 11px/1.5 system-ui;letter-spacing:.12em}
.campaign-field-heading h2{font:400 20px/1.25 Georgia,serif;margin:3px 0 0;color:#f6e7ca}
#campaign-field-title:focus{outline:none}
.campaign-field-heading button{flex:none;min-height:38px}
.campaign-field-caption{position:absolute;bottom:max(12px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(920px,calc(100% - 40px));padding:13px 18px 10px;background:#1a2c27f2;border:1px solid #dec49c70;border-radius:13px;box-sizing:border-box;box-shadow:0 8px 35px #10231955}
#campaign-field-speaker{font:400 12px/1.5 system-ui;color:#e5c88d;letter-spacing:.08em}
#campaign-field-line{margin:6px 0 11px;font-size:18px;line-height:1.43;color:#fff0d8;max-height:24vh;overflow:auto;scrollbar-gutter:stable;padding-right:12px}
.campaign-field-controls{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px}
.campaign-field-controls button{min-height:38px;padding:7px 12px}
#campaign-field-retry{grid-column:1/-1}
#campaign-field-progress{display:flex;gap:5px;margin-top:9px;height:3px}
#campaign-field-progress i{height:3px;flex:1;background:#ead2a326;border-radius:3px}
#campaign-field-progress i.past{background:#c4a46b88}
#campaign-field-progress i.current{background:#e7bf78}
@media(max-width:700px){.campaign-field-heading{left:10px;right:10px;top:max(8px,env(safe-area-inset-top));padding:9px 11px;gap:10px}.campaign-field-heading h2{font-size:17px}.campaign-field-heading small{font-size:9px}.campaign-field-heading button{font-size:12px;max-width:105px;padding:6px}.campaign-field-caption{width:calc(100% - 20px);padding:10px 12px}.campaign-field-controls{gap:5px;grid-template-columns:1fr 1fr 1fr}.campaign-field-controls button{font-size:12px;padding:6px 7px}#campaign-field-replay{grid-column:1/-1;min-height:29px}#campaign-field-line{font-size:15px;max-height:24vh;line-height:1.4;padding-right:7px}}
@media(max-height:560px){.campaign-field-heading{top:6px;padding:6px 11px}.campaign-field-heading h2{font-size:16px}.campaign-field-heading small{font-size:9px}.campaign-field-caption{bottom:6px;padding:7px 13px}#campaign-field-line{font-size:14px;line-height:1.32;max-height:18vh;margin:3px 0 6px}.campaign-field-controls{grid-template-columns:1fr 1fr 1fr auto}.campaign-field-controls button{min-height:29px;padding:4px 9px}#campaign-field-replay{grid-column:auto}#campaign-field-progress{margin-top:5px}.campaign-field-caption .speaker-portrait{width:44px;height:44px}}
