.occ-layer-root{position:fixed;inset:0;z-index:90;display:flex;align-items:flex-end;justify-content:center;background:transparent;-webkit-font-smoothing:antialiased}.occ-layer-root :focus-visible{outline:none;box-shadow:var(--occ-focus);border-radius:8px}.occ-layer-root a,.occ-layer-root button{-webkit-tap-highlight-color:transparent}.occ-layer-scrim{position:absolute;inset:0;background:color-mix(in srgb,var(--occ-ink) 42%,transparent);animation:occ-layer-fade .2s ease-out}.occ-layer-root[data-size=preview] .occ-layer-scrim{background:color-mix(in srgb,var(--occ-ink) 24%,transparent)}.occ-layer{position:relative;width:100%;max-height:calc(100dvh - max(24px, env(safe-area-inset-top)));display:flex;flex-direction:column;overflow:hidden;border-radius:var(--occ-radius-sheet) var(--occ-radius-sheet) 0 0;background:var(--occ-surface);box-shadow:var(--occ-shadow-pill);outline:none;transition:transform .26s cubic-bezier(.16,1,.3,1);animation:occ-layer-rise .32s cubic-bezier(.16,1,.3,1)}.occ-layer-root[data-size=preview] .occ-layer{height:min(76dvh,calc(100dvh - max(24px, env(safe-area-inset-top))))}.occ-layer-top{flex-shrink:0;touch-action:none}.occ-layer-grab{display:block;width:36px;height:5px;margin:8px auto 0;border-radius:var(--occ-radius-pill);background:var(--occ-rule-strong)}.occ-layer-bar{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;min-height:52px;padding:2px 8px 6px;border-bottom:1px solid var(--occ-rule)}.occ-layer-title{margin:0;overflow:hidden;font-size:16px;font-weight:600;line-height:1.3;text-align:center;white-space:nowrap;text-overflow:ellipsis}.occ-layer-icon{width:44px;height:44px;display:inline-grid;place-items:center;padding:0;border:0;border-radius:var(--occ-radius-pill);background:transparent;color:var(--occ-ink);cursor:pointer;transition:background-color .16s ease-out,transform .12s ease-out}.occ-layer-icon:active,.occ-layer-icon:hover{background:var(--occ-well)}.occ-layer-icon:active{transform:scale(.94)}.occ-layer-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.occ-layer-foot{flex-shrink:0;display:flex;align-items:center;gap:12px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--occ-rule);background:var(--occ-surface)}.occ-btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 22px;border:1px solid var(--occ-ink);border-radius:12px;background:var(--occ-ink);color:var(--occ-surface);font:inherit;font-size:16px;font-weight:600;text-decoration:none;cursor:pointer;transition:background-color .16s ease-out,transform .12s ease-out}.occ-btn:active{transform:scale(.98)}.occ-btn[data-variant=quiet]{border-color:var(--occ-rule-strong);background:var(--occ-surface);color:var(--occ-ink)}.occ-btn[data-variant=quiet]:hover{background:var(--occ-well)}.occ-btn[data-variant=text]{min-height:44px;padding:0 4px;border-color:transparent;background:transparent;color:var(--occ-ink);text-decoration:underline;text-underline-offset:4px}.occ-btn[data-grow=true]{flex:1}@keyframes occ-layer-rise{0%{transform:translateY(100%)}}@keyframes occ-layer-pop{0%{opacity:0;transform:translateY(12px) scale(.985)}}@keyframes occ-layer-fade{0%{opacity:0}}@media (min-width:744px){.occ-layer-root{align-items:center;padding:24px}.occ-layer{max-width:440px;max-height:min(calc(100dvh - 48px),760px);border-radius:var(--occ-radius-sheet);animation-name:occ-layer-pop;animation-duration:.24s}.occ-layer-root[data-size=preview] .occ-layer{max-width:760px;height:auto;max-height:min(calc(100dvh - 48px),920px)}.occ-layer-root[data-size=preview] .occ-layer-scrim{background:color-mix(in srgb,var(--occ-ink) 42%,transparent)}.occ-layer-grab{display:none}.occ-layer-bar{padding-top:6px}.occ-layer-foot{padding:14px 20px}}.occ-map-frame>.occ-layer-root[data-place=dock]{position:absolute;z-index:6;top:12px;bottom:12px;left:12px;width:min(400px,calc(100% - 24px));align-items:stretch;justify-content:flex-start;padding:0;background:transparent;pointer-events:none}.occ-layer-root[data-place=dock] .occ-layer-scrim{display:none}.occ-layer-root[data-place=dock] .occ-layer{pointer-events:auto;width:100%;max-width:none;margin-top:var(--occ-dock-offset,0);height:var(--occ-dock-height,100%);max-height:none;border-radius:20px;animation-name:occ-layer-pop;animation-duration:.24s}.occ-layer-root[data-place=dock] .occ-layer-top{position:absolute;inset:0 0 auto 0;z-index:3;pointer-events:none}.occ-layer-root[data-place=dock] .occ-layer-grab{display:none}.occ-layer-root[data-place=dock] .occ-layer-bar{min-height:0;padding:10px;border-bottom:0;background:transparent;pointer-events:none}.occ-layer-root[data-place=dock] .occ-layer-icon,.occ-layer-root[data-place=dock] .occ-layer-lead{pointer-events:auto}.occ-layer-root[data-place=dock] .occ-layer-icon{background:var(--occ-surface);box-shadow:var(--occ-shadow-card)}.occ-layer-root[data-place=dock] .occ-layer-foot{flex-wrap:wrap}.occ-layer-root[data-place=dock] .occ-preview-photo{aspect-ratio:4/3;max-height:none}.occ-layer-root[data-place=dock] .occ-preview-step{display:grid}.occ-layer-root[data-place=dock] .occ-preview:not(:has(.occ-preview-gallery)) .occ-preview-main{padding-top:76px}@media (prefers-reduced-motion:reduce){.occ-layer,.occ-layer-scrim{animation:none;transition:none}.occ-btn,.occ-layer-icon{transition:none}.occ-btn:active,.occ-layer-icon:active{transform:none}}