.container{min-height:100vh;display:grid;place-items:center;padding:var(--landing-side-padding) 0 var(--landing-bottom-padding)}.image-stage{position:relative;width:var(--landing-content-width);max-width:calc(100vw - (var(--landing-side-padding) * 2));min-height:min(78vh,720px);display:grid;place-items:center}.main-image{display:block;width:100%;height:auto;max-height:none;object-fit:contain}.html-frame{display:block;width:100%;min-height:calc(100vh - 48px);border:0;background:#fff}.placeholder{width:min(100%,520px);min-height:240px;display:grid;place-items:center;gap:8px;padding:32px;border:1px solid #d8dee8;border-radius:8px;background:#fff;color:#4b5563;text-align:center}.placeholder small{max-width:100%;color:#9b1c1c;overflow-wrap:anywhere}.page-error{margin-top:14px;padding:10px 14px;border:1px solid rgb(239 68 68 / 18%);border-radius:999px;background:#ffffffdb;color:#b91c1c;font-size:13px;line-height:1.2;backdrop-filter:blur(10px)}.not-found{display:grid;place-items:center;min-height:220px;color:#111827}.not-found strong{font-size:clamp(48px,12vw,120px);line-height:1}@media (max-width: 767px){.container{align-items:start}.image-stage{max-width:none;min-height:100vh;align-items:start}.main-image{width:100%;max-height:none}.html-frame{min-height:100vh}}.is-mobile-layout .container{align-items:start}.is-mobile-layout .image-stage{max-width:none;min-height:100vh;align-items:start}.is-mobile-layout .main-image{width:100%;max-height:none}.is-mobile-layout .html-frame{min-height:100vh}.action-button{position:fixed;box-sizing:border-box;left:50%;right:auto;bottom:max(14px,env(safe-area-inset-bottom));z-index:20;display:block;width:var(--landing-content-width);max-width:var(--landing-content-width);min-width:0;min-height:var(--landing-button-height);padding:0 34px;border:1px solid rgb(255 255 255 / 62%);border-radius:var(--landing-button-radius);background:linear-gradient(100deg,#16a34a,#22c55e 32%,#5eead4,#14b8a6 68%,#16a34a);background-size:220% 100%;color:#fff;cursor:pointer;font-size:16px;font-weight:700;letter-spacing:0;box-shadow:0 22px 46px #14b8a66b,0 10px 24px #15803d57,0 0 30px #22c55e47,inset 0 1px #ffffff6b;transform:translate(-50%);animation:button-shimmer 3.2s ease-in-out infinite;-webkit-tap-highlight-color:transparent}.action-button:before,.action-button:after{position:absolute;inset:-14px;z-index:-1;border-radius:inherit;background:radial-gradient(circle at 22% 50%,rgb(255 255 255 / 56%),transparent 24%),linear-gradient(90deg,#22c55eb8,#14b8a69e);content:"";opacity:0;transform:scale(.92);animation:download-pulse 1.85s ease-out infinite}.action-button:after{animation-delay:.92s}.action-button:hover{background:linear-gradient(100deg,#15803d,#16a34a 32%,#99f6e4,#0d9488 68%,#15803d);background-size:220% 100%}.action-button:disabled{cursor:wait;opacity:.72}.action-button[data-action-kind=primary],.action-button[data-action-kind=submit],.action-button[data-action-kind=popup],.action-button[data-action-kind=install]{touch-action:manipulation}.action-button[data-action-kind=install]{background:linear-gradient(100deg,#16a34a,#22c55e 32%,#5eead4,#14b8a6 68%,#16a34a);background-size:220% 100%}.action-button[data-action-kind=primary]{background:linear-gradient(100deg,#2563eb,#0ea5e9 38%,#14b8a6 64%,#2563eb);background-size:220% 100%}.action-button[data-action-kind=submit]{background:linear-gradient(100deg,#4f46e5,#7c3aed 42%,#0891b2 72%,#4f46e5);background-size:220% 100%}.action-button[data-action-kind=popup]{background:linear-gradient(100deg,#0f766e,#10b981 42%,#84cc16 72%,#0f766e);background-size:220% 100%}.action-button:active{transform:translate(-50%) translateY(1px)}.action-button:focus-visible{outline:3px solid #60a5fa;outline-offset:3px}@keyframes download-pulse{0%{opacity:.78;transform:scale(.92);filter:blur(0)}68%{opacity:0;transform:scale(1.16);filter:blur(10px)}to{opacity:0;transform:scale(1.16);filter:blur(10px)}}@keyframes button-shimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.action-popup-backdrop{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:24px;background:#11182775}.action-popup{width:min(100%,360px);padding:22px;border-radius:8px;background:#fff;color:#111827;box-shadow:0 24px 60px #11182747}.action-popup strong{display:block;margin-bottom:10px;font-size:17px;line-height:1.3}.action-popup p{margin:0;color:#4b5563;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.action-popup button{width:100%;min-height:42px;margin-top:18px;border:0;border-radius:6px;background:#111827;color:#fff;cursor:pointer;font-weight:700}@media (max-width: 767px){.action-button{left:50%;right:auto;bottom:max(12px,env(safe-area-inset-bottom));width:var(--landing-content-width);max-width:calc(100vw - 32px);min-height:var(--landing-button-height);padding:0 18px;transform:translate(-50%)}.action-button:active{transform:translate(-50%) translateY(1px)}}.is-mobile-layout .action-button{left:50%;right:auto;bottom:max(12px,env(safe-area-inset-bottom));width:var(--landing-content-width);max-width:calc(100vw - 32px);min-height:var(--landing-button-height);padding:0 18px;transform:translate(-50%)}.is-mobile-layout .action-button:active{transform:translate(-50%) translateY(1px)}.pwa-start{min-height:100vh;display:grid;place-items:center;padding:32px 18px;background:radial-gradient(circle at 50% 18%,rgb(255 255 255 / 90%),transparent 30%),linear-gradient(145deg,#f8fafc,#eef2ff 42%,#ecfeff);color:#111827}.pwa-start__content{width:min(100%,420px);display:grid;justify-items:center;gap:16px;text-align:center}.pwa-start__horn{position:relative;width:136px;height:136px;display:grid;place-items:center}.pwa-start__bell{position:relative;z-index:2;display:grid;place-items:center;width:104px;height:104px;border-radius:50%;background:#fff;font-size:56px;box-shadow:0 20px 48px #0ea5e93d,inset 0 1px #fffc}.pwa-start__burst{position:absolute;border-radius:999px;background:#f59e0b;transform-origin:center}.pwa-start__burst--one{width:78px;height:12px;top:20px;right:0;transform:rotate(-28deg)}.pwa-start__burst--two{width:62px;height:10px;left:6px;top:30px;background:#06b6d4;transform:rotate(34deg)}.pwa-start__burst--three{width:70px;height:10px;left:32px;bottom:8px;background:#22c55e;transform:rotate(-8deg)}.pwa-start h1{margin:0;font-size:clamp(32px,8vw,48px);line-height:1;letter-spacing:0}.pwa-start p{margin:0;color:#475569;font-size:16px;line-height:1.5}.pwa-start__button{width:min(100%,280px);min-height:54px;border:0;border-radius:999px;background:#111827;color:#fff;cursor:pointer;font-size:17px;font-weight:800;letter-spacing:0;box-shadow:0 18px 36px #0f172a3d}.pwa-start__actions{width:min(100%,280px);display:grid;gap:10px}.pwa-start__actions .pwa-start__button{width:100%}.pwa-start__button--secondary{border:1px solid #cbd5e1;background:#fff;color:#334155;box-shadow:none}.pwa-start__button:disabled{cursor:wait;opacity:.68}.pwa-start__error{min-height:18px;color:#dc2626;font-size:13px}:root{color:#111827;background:#f5f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{min-width:320px}button{font:inherit}.main{--landing-content-width: 45vw;--landing-side-padding: 24px;--landing-bottom-padding: 88px;--landing-button-radius: 999px;--landing-button-height: 58px;min-height:100vh}@media (min-width: 768px) and (max-width: 1180px){.main{--landing-content-width: 65vw}}@media (max-width: 767px){.main{--landing-content-width: min(92vw, 520px);--landing-side-padding: 16px;--landing-bottom-padding: calc(88px + env(safe-area-inset-bottom)) ;--landing-button-radius: 999px;--landing-button-height: 56px}}@media (hover: none) and (pointer: coarse) and (orientation: portrait){.main{--landing-content-width: min(92vw, 520px);--landing-side-padding: 16px;--landing-bottom-padding: calc(88px + env(safe-area-inset-bottom)) ;--landing-button-radius: 999px;--landing-button-height: 56px}}.is-mobile-layout .main{--landing-content-width: min(92vw, 520px);--landing-side-padding: 16px;--landing-bottom-padding: calc(88px + env(safe-area-inset-bottom)) ;--landing-button-radius: 999px;--landing-button-height: 56px}
