.floating-gallery-wrap{position:fixed;right:max(22px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));z-index:205;display:grid;justify-items:end;gap:10px;pointer-events:none}@media(max-width:820px){.floating-gallery-wrap{bottom:calc(72px + env(safe-area-inset-bottom))}}.floating-gallery-button{position:relative;display:inline-grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-width:168px;min-height:56px;border:1px solid rgba(37,99,235,.22);border-radius:18px;padding:8px 10px 8px 9px;color:#0f172a;background:#fffffff0;box-shadow:0 18px 44px #0f172a2e,inset 0 1px #ffffffd1;pointer-events:auto;backdrop-filter:blur(16px) saturate(1.25);-webkit-backdrop-filter:blur(16px) saturate(1.25);transition:transform var(--dur-2) var(--ease-standard),opacity var(--dur-2) var(--ease-standard),border-color var(--dur-2) var(--ease-standard),box-shadow var(--dur-2) var(--ease-standard)}.floating-gallery-button:hover{border-color:#2563eb61;box-shadow:0 22px 54px #2563eb38,inset 0 1px #ffffffe6;transform:translateY(-2px)}.floating-gallery-icon{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:14px;color:#fff;background:linear-gradient(135deg,#2563eb,#0ea5e9 62%,#14b8a6);box-shadow:0 10px 22px #2563eb47}.floating-gallery-icon svg{width:20px;height:20px}.floating-gallery-copy{display:grid;min-width:0;gap:3px;text-align:left}.floating-gallery-copy strong{color:var(--text-strong);font-size:14px;font-weight:var(--fw-bold);line-height:1.15}.floating-gallery-copy small{color:var(--muted);font-size:12px;font-weight:var(--fw-semibold);line-height:1.2;white-space:nowrap}.floating-gallery-button em{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;border-radius:999px;padding:0 7px;color:#fff;background:#0f172ad1;font-size:12px;font-style:normal;font-weight:var(--fw-bold)}.floating-gallery-complete{max-width:min(320px,calc(100vw - 32px));border:1px solid rgba(22,163,74,.24);border-radius:14px;padding:9px 12px;color:#166534;background:#f0fdf4f5;box-shadow:0 14px 34px #16a34a24;font-size:13px;font-weight:var(--fw-semibold);line-height:1.4;pointer-events:auto}.floating-gallery-wrap.is-complete .floating-gallery-button{border-color:#16a34a57;animation:floating-gallery-complete .9s var(--ease-spring) both}@media(max-width:1024px){.floating-gallery-wrap.is-generate-route{right:max(18px,env(safe-area-inset-right));bottom:calc(108px + env(safe-area-inset-bottom))}}@keyframes floating-gallery-complete{0%{transform:translateY(0) scale(1)}42%{transform:translateY(-4px) scale(1.04)}to{transform:translateY(0) scale(1)}}.toast-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:var(--primary);background:#2563eb1a}.toast-icon svg{width:19px;height:19px;stroke-width:2.4}.toast-message{min-width:0}:root[data-theme=dark] .floating-gallery-button{color:var(--text-strong);border-color:#60a5fa3d;background:#0f172af0;box-shadow:0 18px 44px #00000061,inset 0 1px #ffffff0a}:root[data-theme=dark] .floating-gallery-button:hover{border-color:#60a5fa6b;box-shadow:0 22px 54px #0000007a,inset 0 1px #ffffff0f}:root[data-theme=dark] .floating-gallery-button em{color:#0f172a;background:#e2e8f0e6}:root[data-theme=dark] .floating-gallery-complete{color:#bbf7d0;border-color:#4ade8047;background:#14532deb}.floating-gallery-wrap.is-collapsed .floating-gallery-button{transform:translate(calc(100% - 58px + max(22px,env(safe-area-inset-right))));opacity:.85}.floating-gallery-wrap.is-collapsed .floating-gallery-button:hover,.floating-gallery-wrap.is-collapsed .floating-gallery-button:focus-within{transform:translate(0);opacity:1;border-color:#2563eb61;box-shadow:0 22px 54px #2563eb38,inset 0 1px #ffffffe6}:root[data-theme=dark] .floating-gallery-wrap.is-collapsed .floating-gallery-button:hover,:root[data-theme=dark] .floating-gallery-wrap.is-collapsed .floating-gallery-button:focus-within{border-color:#60a5fa6b;box-shadow:0 22px 54px #0000007a,inset 0 1px #ffffff0f}@media(max-width:1024px){.floating-gallery-wrap.is-generate-route.is-collapsed .floating-gallery-button{transform:translate(calc(100% - 58px + max(18px,env(safe-area-inset-right))))}}
