.bottom-bar.svelte-8vcz2o{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:var(--layout-max-width);height:calc(64px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);display:flex;align-items:center;z-index:100;overflow:visible}.bar-shape.svelte-8vcz2o{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.bar-fill.svelte-8vcz2o{fill:var(--color-bar)}.bar-stroke.svelte-8vcz2o{fill:none;stroke:var(--color-border-strong);stroke-width:1}.nav-item.svelte-8vcz2o{flex:1;position:relative;z-index:1;display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;cursor:pointer;color:var(--color-text-dim);transition:color var(--duration-fast)}.nav-item.svelte-8vcz2o:focus-visible .nav-item__icon:where(.svelte-8vcz2o){outline:2px solid var(--color-primary);outline-offset:2px}.nav-item--active.svelte-8vcz2o{color:var(--color-primary)}.nav-item__icon.svelte-8vcz2o{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:var(--radius-sm);transition:background var(--duration-fast)}.nav-item.svelte-8vcz2o:hover .nav-item__icon:where(.svelte-8vcz2o){background:var(--color-surface-hover)}.nav-item__icon.svelte-8vcz2o svg{width:1.375rem;height:1.375rem;display:block}.fab-well.svelte-8vcz2o{flex-shrink:0;width:80px;position:relative;align-self:stretch;z-index:1}.fab.svelte-8vcz2o{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);width:3.5rem;height:3.5rem;border-radius:var(--radius-full);border:none;background:var(--color-fab);color:var(--color-interactive-text);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(var(--color-fab-rgb),.45);transition:background var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.fab.svelte-8vcz2o:hover{background:var(--color-fab-hover);box-shadow:0 6px 28px rgba(var(--color-fab-rgb),.55)}.fab.svelte-8vcz2o:active:not(:disabled){transform:translate(-50%,-50%) scale(.94)}.fab.svelte-8vcz2o:disabled{opacity:.5;cursor:not-allowed}.fab--save.svelte-8vcz2o{background:var(--color-primary);box-shadow:0 4px 20px rgba(var(--color-primary-rgb),.45)}.fab--save.svelte-8vcz2o:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:0 6px 28px rgba(var(--color-primary-rgb),.55)}.fab__icon.svelte-8vcz2o{font-size:1.75rem;font-weight:300;line-height:1;font-family:var(--font-body);transition:transform var(--duration-base) var(--ease-out)}.fab--open.svelte-8vcz2o .fab__icon:where(.svelte-8vcz2o){transform:rotate(45deg)}.fab__icon--save.svelte-8vcz2o{font-size:1.5rem;font-weight:500}.fab-actions.svelte-8vcz2o{position:fixed;bottom:calc(64px + env(safe-area-inset-bottom,0px) + 1.75rem + var(--space-3));left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:stretch;gap:var(--space-2);z-index:101;min-width:180px}.fab-action.svelte-8vcz2o{display:flex;align-items:center;justify-content:center;gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-full);padding:var(--space-2) var(--space-5);cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:svelte-8vcz2o-fab-action-in var(--duration-base) var(--ease-out) both;transition:background var(--duration-fast),border-color var(--duration-fast)}.fab-action.svelte-8vcz2o:hover{background:var(--color-surface-hover);border-color:var(--color-primary)}.fab-action__icon.svelte-8vcz2o{font-size:1.1rem;line-height:1;width:1.5rem;text-align:center}.fab-action__label.svelte-8vcz2o{font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;letter-spacing:.04em;color:var(--color-text);white-space:nowrap}.fab-scrim.svelte-8vcz2o{position:fixed;top:0;right:0;bottom:0;left:0;background:transparent;border:none;cursor:default;z-index:99}@keyframes svelte-8vcz2o-fab-action-in{0%{opacity:0;transform:translateY(8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}
