:root{--pwa-accent-a:#4f46e5;--pwa-accent-b:#06b6d4;--pwa-surface:#fff;--pwa-surface-muted:#f3f4f6;--pwa-text:#111827;--pwa-text-muted:#4b5563;--pwa-border:#11182714;--pwa-shadow:0 20px 45px -12px #0f172a59;--pwa-radius:1.25rem;--pwa-safe-top:env(safe-area-inset-top,0px);--pwa-safe-right:env(safe-area-inset-right,0px);--pwa-safe-bottom:env(safe-area-inset-bottom,0px);--pwa-safe-left:env(safe-area-inset-left,0px);--pwa-bottom-offset:0px;--pwa-bar-bg:#ffffffeb;--pwa-app-bar-height:3rem;--pwa-bottom-nav-height:4rem;--pwa-layer-bar:25;--pwa-layer-floating:60;--pwa-layer-dialog:80}@media (prefers-color-scheme:dark){:root:not(.light){--pwa-bar-bg:#111827eb;--pwa-surface:#1f2937;--pwa-surface-muted:#111827;--pwa-text:#f9fafb;--pwa-text-muted:#d1d5db;--pwa-border:#ffffff1a}}:root.dark{--pwa-bar-bg:#111827eb;--pwa-surface:#1f2937;--pwa-surface-muted:#111827;--pwa-text:#f9fafb;--pwa-text-muted:#d1d5db;--pwa-border:#ffffff1a}.pwa-interface [hidden]{display:none!important}.pwa-interface,.pwa-interface *{box-sizing:border-box}.pwa-install-button{left:calc(1rem + var(--pwa-safe-left));bottom:calc(1rem + var(--pwa-safe-bottom) + var(--pwa-bottom-offset));z-index:var(--pwa-layer-floating);background:linear-gradient(135deg, var(--pwa-accent-a), var(--pwa-accent-b));color:#fff;text-shadow:0 1px 2px #00000040;min-height:3rem;box-shadow:var(--pwa-shadow);cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;border-radius:9999px;align-items:center;gap:.5rem;padding:0 1.25rem;font:600 .9375rem/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;transition:transform .2s,filter .2s;animation:.35s ease-out pwa-rise-in;display:inline-flex;position:fixed}.pwa-install-button:hover{filter:brightness(1.08)}.pwa-install-button:active{transform:scale(.97)}.pwa-install-button:focus-visible,.pwa-sheet-button:focus-visible,.pwa-sheet-close:focus-visible{outline:3px solid var(--pwa-accent-b);outline-offset:3px}.pwa-install-button svg{flex-shrink:0;width:1.125rem;height:1.125rem}.pwa-sheet-backdrop{z-index:var(--pwa-layer-dialog);padding:var(--pwa-safe-top) var(--pwa-safe-right) 0 var(--pwa-safe-left);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a8c;justify-content:center;align-items:flex-end;animation:.2s ease-out pwa-fade-in;display:flex;position:fixed;inset:0}.pwa-sheet{width:100%;max-width:28rem;max-height:calc(100vh - var(--pwa-safe-top) - 1rem);max-height:calc(100dvh - var(--pwa-safe-top) - 1rem);overscroll-behavior:contain;padding:1.25rem 1.25rem calc(1.25rem + var(--pwa-safe-bottom));border-radius:var(--pwa-radius) var(--pwa-radius) 0 0;background:var(--pwa-surface);color:var(--pwa-text);box-shadow:var(--pwa-shadow);font:400 1rem/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;animation:.3s cubic-bezier(.2,.8,.2,1) pwa-sheet-in;overflow-y:auto}@media (width>=640px){.pwa-sheet-backdrop{align-items:center;padding:1.5rem}.pwa-sheet{border-radius:var(--pwa-radius);padding-bottom:1.25rem}}.pwa-sheet-handle{background:var(--pwa-border);border-radius:9999px;width:2.5rem;height:.3125rem;margin:-.25rem auto 1rem}@media (width>=640px){.pwa-sheet-handle{display:none}}.pwa-sheet-header{align-items:center;gap:.875rem;margin-bottom:1rem;display:flex}.pwa-sheet-icon{-o-object-fit:cover;object-fit:cover;width:3.5rem;height:3.5rem;box-shadow:0 0 0 1px var(--pwa-border), 0 6px 16px -6px #0f172a66;border-radius:.875rem;flex-shrink:0}.pwa-sheet-title{margin:0;font-size:1.125rem;font-weight:700;line-height:1.3}.pwa-sheet-subtitle{color:var(--pwa-text-muted);margin:.125rem 0 0;font-size:.875rem}.pwa-sheet-close{background:var(--pwa-surface-muted);width:2.75rem;height:2.75rem;color:var(--pwa-text-muted);cursor:pointer;border:0;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.pwa-sheet-close svg{width:1.25rem;height:1.25rem}.pwa-steps{counter-reset:pwa-step;margin:0 0 1.25rem;padding:0;list-style:none}.pwa-steps li{counter-increment:pwa-step;align-items:flex-start;gap:.75rem;padding:.625rem 0;font-size:.9375rem;display:flex;position:relative}.pwa-steps li+li{border-top:1px solid var(--pwa-border)}.pwa-steps li:before{content:counter(pwa-step);background:linear-gradient(135deg, var(--pwa-accent-a), var(--pwa-accent-b));color:#fff;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;font-size:.8125rem;font-weight:700;display:inline-flex}.pwa-inline-icon{vertical-align:-.2em;width:1.125rem;height:1.125rem;color:var(--pwa-accent-a);display:inline-block}.pwa-sheet-note{background:var(--pwa-surface-muted);color:var(--pwa-text-muted);border-radius:.75rem;margin:0 0 1.25rem;padding:.75rem .875rem;font-size:.8125rem}.pwa-sheet-actions{gap:.75rem;display:flex}.pwa-sheet-button{cursor:pointer;border:0;border-radius:9999px;flex:1;min-height:2.75rem;padding:0 1rem;font:600 .9375rem/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.pwa-sheet-button-primary{background:linear-gradient(135deg, var(--pwa-accent-a), var(--pwa-accent-b));color:#fff}.pwa-sheet-button-secondary{background:var(--pwa-surface-muted);color:var(--pwa-text)}.pwa-status{left:50%;bottom:calc(1rem + var(--pwa-safe-bottom) + var(--pwa-bottom-offset));z-index:var(--pwa-layer-floating);width:min(26rem, calc(100% - 2rem - var(--pwa-safe-left) - var(--pwa-safe-right)));pointer-events:none;position:fixed;transform:translate(-50%)}.pwa-status-card{color:#f9fafb;box-shadow:var(--pwa-shadow);pointer-events:auto;background:#111827;border-radius:1rem;align-items:center;gap:.75rem;margin-top:.5rem;padding:.75rem .75rem .75rem 1rem;font:400 .875rem/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;animation:.3s ease-out pwa-rise-in;display:flex}.pwa-status-dot{background:#f59e0b;border-radius:9999px;flex-shrink:0;width:.625rem;height:.625rem}.pwa-status-text{flex:1;margin:0}.pwa-status-action{color:#111827;cursor:pointer;background:#fff;border:0;border-radius:9999px;flex-shrink:0;min-height:2.75rem;padding:0 1rem;font:600 .8125rem/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.pwa-app-bar,.pwa-bottom-nav{display:none}html.pwa-standalone .pwa-app-bar{z-index:var(--pwa-layer-bar);min-height:calc(var(--pwa-app-bar-height) + var(--pwa-safe-top));padding:var(--pwa-safe-top) calc(.25rem + var(--pwa-safe-right)) 0 calc(.25rem + var(--pwa-safe-left));border-bottom:1px solid var(--pwa-border);background:var(--pwa-bar-bg);color:var(--pwa-text);-webkit-backdrop-filter:saturate(180%)blur(16px);backdrop-filter:saturate(180%)blur(16px);align-items:center;gap:.25rem;display:flex;position:fixed;top:0;left:0;right:0}html.pwa-standalone.pwa-has-app-bar body{padding-top:calc(var(--pwa-app-bar-height) + var(--pwa-safe-top))}.pwa-app-bar-button{min-width:2.75rem;min-height:2.75rem;color:var(--pwa-accent-a);cursor:pointer;background:0 0;border:0;border-radius:.75rem;justify-content:center;align-items:center;gap:.125rem;padding:0 .5rem;font:500 1rem/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;text-decoration:none;display:inline-flex}.pwa-app-bar-button svg{flex-shrink:0;width:1.5rem;height:1.5rem}.pwa-app-bar-icon-button svg{width:1.25rem;height:1.25rem}.pwa-app-bar-title{text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font:600 1.0625rem/1.2 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}.pwa-bottom-nav-item{min-width:0;min-height:3.5rem;color:var(--pwa-text-muted);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:.875rem;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:.125rem;padding:.25rem;font:500 .6875rem/1.1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;text-decoration:none;transition:color .15s,transform .15s;display:flex;position:relative}.pwa-bottom-nav-item:active{transform:scale(.94)}.pwa-bottom-nav-item[aria-current=page]{color:var(--pwa-accent-a)}.pwa-bottom-nav-item[aria-current=page]:before{content:"";background:linear-gradient(90deg, var(--pwa-accent-a), var(--pwa-accent-b));border-radius:9999px;width:1.5rem;height:.1875rem;position:absolute;top:.125rem}.pwa-bottom-nav-icon{flex-shrink:0;width:1.5rem;height:1.5rem}.pwa-bottom-nav-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.pwa-app-bar-button:focus-visible,.pwa-bottom-nav-item:focus-visible{outline:3px solid var(--pwa-accent-b);outline-offset:-3px}@media (width<=767.98px){html.pwa-standalone .pwa-bottom-nav{z-index:var(--pwa-layer-bar);min-height:calc(var(--pwa-bottom-nav-height) + var(--pwa-safe-bottom));padding:.25rem calc(.25rem + var(--pwa-safe-right)) calc(.25rem + var(--pwa-safe-bottom)) calc(.25rem + var(--pwa-safe-left));border-top:1px solid var(--pwa-border);background:var(--pwa-bar-bg);-webkit-backdrop-filter:saturate(180%)blur(16px);backdrop-filter:saturate(180%)blur(16px);align-items:stretch;gap:.125rem;display:flex;position:fixed;bottom:0;left:0;right:0}html.pwa-standalone.pwa-has-bottom-nav{--pwa-bottom-offset:var(--pwa-bottom-nav-height)}html.pwa-standalone.pwa-has-bottom-nav body{padding-bottom:calc(var(--pwa-bottom-nav-height) + var(--pwa-safe-bottom))}html.pwa-standalone.pwa-keyboard-open .pwa-bottom-nav{display:none}html.pwa-standalone.pwa-has-bottom-nav.pwa-keyboard-open{--pwa-bottom-offset:0px}html.pwa-standalone:has(#pwa-interface[data-pwa-home] #pwa-bottom-navigation) nav#header:not(:has(#nav-toggle[aria-expanded=true])){display:none}}html.pwa-standalone{-webkit-tap-highlight-color:transparent}html.pwa-standalone nav#header,html.pwa-standalone .fi-topbar,html.pwa-standalone .fi-sidebar-header{padding-top:var(--pwa-safe-top)}html.pwa-standalone .fi-sidebar{padding-bottom:var(--pwa-safe-bottom)}.pwa-avoid-bottom-nav{margin-bottom:var(--pwa-bottom-offset)}@media (width<=639.98px){html.pwa-standalone .pwa-fullscreen-panel{height:100dvh;padding-bottom:var(--pwa-safe-bottom)}html.pwa-standalone .pwa-fullscreen-panel-header{padding-top:calc(.75rem + var(--pwa-safe-top))}}@media (width<=767.98px){html.pwa-standalone input:not([type=checkbox]):not([type=radio]):not([type=range]),html.pwa-standalone select,html.pwa-standalone textarea{font-size:max(1rem,16px)}}html.pwa-standalone body{overscroll-behavior-y:none}@keyframes pwa-fade-in{0%{opacity:0}to{opacity:1}}@keyframes pwa-sheet-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes pwa-rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.pwa-bottom-nav-item,.pwa-install-button,.pwa-sheet-backdrop,.pwa-sheet,.pwa-status-card{transition:none;animation:none}}
