.app-footer{position:fixed;bottom:0;left:0;right:0;z-index:4;margin:0;padding:12px 20px calc(10px + env(safe-area-inset-bottom));max-width:none;display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--bg);border-top:1px solid var(--line);box-shadow:0 -8px 30px #0002}.footer-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:min(100%,480px)}.footer-actions button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border-radius:10px;font-size:12px;letter-spacing:0;font-weight:700;padding:11px 13px;box-shadow:none}.footer-actions svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0}.footer-install{border:1px solid var(--accent-edge);color:var(--green);background:var(--panel)}.footer-credit{font-size:9px;color:var(--muted);line-height:1.3;letter-spacing:.3px}.footer-credit b{color:var(--text);font-size:10px;margin:0 0 0 3px;font-weight:700}.signed-in main{padding-bottom:140px}.install-dialog{max-width:440px;text-align:left}.install-dialog .dialog-heading{margin-bottom:22px}.install-dialog h2{font-size:24px}.install-icon{display:block;width:84px;height:84px;border-radius:20px;margin:0 auto 23px}.install-dialog p,.install-dialog li{font-size:13px;line-height:1.8;color:var(--text)}.install-dialog ol{padding-left:22px}.install-dialog li{padding-left:4px;margin-bottom:12px}.install-dialog .small{font-size:11px;color:var(--muted)}.install-done{display:block;width:100%;margin-top:20px}.app-footer button:disabled{cursor:default;opacity:.5}body:not(.signed-in) .app-footer{display:none}@media(max-width:420px){.app-footer{padding-left:16px;padding-right:16px}.footer-actions{gap:8px}.footer-actions button{font-size:11px;padding:11px 8px}.signed-in main{padding-bottom:135px}}

.footer-actions{grid-template-columns:1fr;width:min(100%,260px)}.trailer-link{background:#c82d36;color:#fff;border-color:#c82d36;font-weight:700}.trailer-link:hover{background:#e03a43;border-color:#e03a43}.plot-attribution{font-size:10px;color:var(--muted);margin:-4px 0 14px}.plot-attribution summary{cursor:pointer;width:max-content;padding:5px 0}.plot-attribution .plot-source{margin:5px 0 10px}
