:root{--dock-bottom:12px;--dock-safe-bottom:env(safe-area-inset-bottom,0px);--dock-radius:16px;--dock-padding-x:8px;--dock-padding-y:6px;--dock-gap:8px;--dock-zone-gap:6px;--dock-entry-size:40px;--dock-entry-radius:10px;--dock-icon-size:18px;--dock-arrow-size:10px;--dock-border:1px solid rgba(255,255,255,0.08);--dock-bg:linear-gradient(180deg,rgba(34,34,38,0.9),rgba(24,24,28,0.94));--dock-shadow:0 12px 30px rgba(0,0,0,0.24),0 4px 10px rgba(0,0,0,0.18),0 1px 0 rgba(255,255,255,0.04) inset;--dock-backdrop:blur(18px) saturate(160%);--dock-fg:rgba(255,255,255,0.92);--dock-fg-muted:rgba(255,255,255,0.5);--dock-fg-disabled:rgba(255,255,255,0.28);--dock-entry-bg:transparent;--dock-entry-hover-bg:rgba(255,255,255,0.06);--dock-entry-active-bg:rgba(255,255,255,0.1);--dock-entry-pressed-bg:rgba(255,255,255,0.12);--dock-entry-active-border:1px solid rgba(255,255,255,0.1);--dock-menu-width:220px;--dock-menu-radius:14px;--dock-menu-padding:6px;--dock-menu-bg:linear-gradient(180deg,rgba(34,34,38,0.98),rgba(20,20,24,0.98));--dock-menu-shadow:0 18px 40px rgba(0,0,0,0.28),0 6px 16px rgba(0,0,0,0.2),0 1px 0 rgba(255,255,255,0.04) inset;--dock-menu-item-height:38px;--dock-menu-item-radius:10px;--dock-menu-item-hover-bg:rgba(255,255,255,0.07);--dock-menu-item-active-bg:rgba(255,255,255,0.1);--dock-z-index:120;--dock-menu-z-index:140;--dock-font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--dock-font-size:13px;--dock-font-weight:500;--dock-transition-fast:120ms ease;--dock-transition-base:180ms ease;--dock-transition-slow:220ms ease}.dock-layer{position:fixed;inset-inline:0;bottom:0;z-index:var(--dock-z-index);pointer-events:none;display:flex;padding:0 10px calc(var(--dock-bottom) + var(--dock-safe-bottom))}.dock,.dock-layer{justify-content:center}.dock{--_entry-size:var(--dock-entry-size);position:relative;pointer-events:auto;display:inline-flex;align-items:center;gap:var(--dock-gap);min-height:calc(var(--_entry-size) + (var(--dock-padding-y) * 2));max-width:min(720px,calc(100vw - 20px));padding:var(--dock-padding-y) var(--dock-padding-x);border:var(--dock-border);border-radius:var(--dock-radius);background:var(--dock-bg);box-shadow:var(--dock-shadow);backdrop-filter:var(--dock-backdrop);-webkit-backdrop-filter:var(--dock-backdrop);-moz-user-select:none;user-select:none;-webkit-user-select:none;touch-action:manipulation;isolation:isolate}.dock:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(120% 120% at 50% 0,rgba(255,255,255,.06) 0,rgba(255,255,255,0) 40%);pointer-events:none}.dock-zone{position:relative;display:inline-flex;align-items:center;gap:var(--dock-zone-gap);min-height:var(--_entry-size)}.dock-zone:not(:empty)+.dock-zone:not(:empty):before{content:"";position:absolute;inset-inline-start:calc((var(--dock-gap) * -.5) - 1px);top:50%;width:1px;height:20px;transform:translateY(-50%);background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.08) 24%,rgba(255,255,255,.08) 76%,rgba(255,255,255,0))}.dock-entry,.dock-entry-slot{position:relative;display:inline-flex;align-items:center;justify-content:center}.dock-entry{inline-size:var(--_entry-size);block-size:var(--_entry-size);padding:0;margin:0;border:1px solid transparent;border-radius:var(--dock-entry-radius);background:var(--dock-entry-bg);color:var(--dock-fg);cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;outline:none;transition:background-color var(--dock-transition-fast),border-color var(--dock-transition-fast),color var(--dock-transition-fast),transform var(--dock-transition-fast),box-shadow var(--dock-transition-fast)}.dock-entry:hover{background:var(--dock-entry-hover-bg)}.dock-entry:active{background:var(--dock-entry-pressed-bg);transform:translateY(1px) scale(.99)}.dock-entry:focus-visible{border-color:rgba(255,255,255,.18);box-shadow:0 0 0 1px rgba(255,255,255,.1),0 0 0 4px rgba(255,255,255,.05)}.dock-entry[aria-disabled=true]{color:var(--dock-fg-disabled);cursor:default;pointer-events:none}.dock-entry.is-active,.dock-entry.is-open{background:var(--dock-entry-active-bg);border:var(--dock-entry-active-border);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 4px 10px rgba(0,0,0,.12)}.dock-icon{inline-size:var(--dock-icon-size);block-size:var(--dock-icon-size);display:inline-flex;align-items:center;justify-content:center;transform-origin:center;pointer-events:none}.dock-icon>svg{display:block}.dock-entry-menu-trigger{position:absolute;inset-inline-end:4px;inset-block-end:3px;inline-size:10px;block-size:10px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;color:var(--dock-fg-muted);pointer-events:auto;transition:color var(--dock-transition-fast),background-color var(--dock-transition-fast),transform var(--dock-transition-fast)}.dock-entry.is-open .dock-entry-menu-trigger,.dock-entry:hover .dock-entry-menu-trigger{color:var(--dock-fg)}.dock-entry-menu-trigger:hover{background:rgba(255,255,255,.06)}.dock-entry-menu-trigger:active{transform:scale(.94)}.dock-menu-anchor{position:absolute;inset-inline-start:50%;inset-block-end:calc(100% + 8px);transform:translateX(-50%);z-index:var(--dock-menu-z-index);pointer-events:auto}.dock-menu{inline-size:min(var(--dock-menu-width),calc(100vw - 20px));padding:var(--dock-menu-padding);border:var(--dock-border);border-radius:var(--dock-menu-radius);background:var(--dock-menu-bg);box-shadow:var(--dock-menu-shadow);backdrop-filter:var(--dock-backdrop);-webkit-backdrop-filter:var(--dock-backdrop);display:flex;flex-direction:column;gap:4px;transform-origin:bottom center;animation:dock-menu-enter var(--dock-transition-slow) cubic-bezier(.2,.8,.2,1)}.dock-menu-item{display:inline-flex;align-items:center;gap:10px;inline-size:100%;min-block-size:var(--dock-menu-item-height);padding:0 12px;border:0;border-radius:var(--dock-menu-item-radius);background:transparent;color:var(--dock-fg);text-align:start;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;font-family:var(--dock-font-family);font-size:var(--dock-font-size);font-weight:var(--dock-font-weight);transition:background-color var(--dock-transition-fast),color var(--dock-transition-fast),transform var(--dock-transition-fast)}.dock-menu-item:hover{background:var(--dock-menu-item-hover-bg)}.dock-menu-item:active{background:var(--dock-menu-item-active-bg);transform:translateY(1px)}.dock-menu-item:focus-visible{outline:none;background:var(--dock-menu-item-hover-bg);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 0 0 3px rgba(255,255,255,.05)}.dock-menu-item:disabled{color:var(--dock-fg-disabled);cursor:default;pointer-events:none}.dock-entry[data-dock-entry=selection] .dock-icon{transform:translate(-1px,-1px)}.dock-entry[data-dock-entry=selection].is-active .dock-icon{transform:translate(-1px,-1px) scale(1.02)}.dock-entry[data-dock-entry=insert] .dock-icon{transform:scale(1.03)}.dock-entry[data-dock-entry=frame] .dock-icon{transform:scale(.95)}.dock-entry[data-dock-entry=action]{color:rgba(255,244,210,.96)}.dock-entry[data-dock-entry=action].is-active,.dock-entry[data-dock-entry=action].is-open{background:linear-gradient(180deg,rgba(255,224,138,.16),rgba(255,210,120,.08));border-color:rgba(255,222,136,.18)}.dock[data-platform=tablet]{--_entry-size:38px;--dock-padding-x:7px;--dock-padding-y:6px;--dock-gap:7px;--dock-zone-gap:5px}.dock[data-platform=mobile]{--_entry-size:38px;--dock-padding-x:6px;--dock-padding-y:6px;--dock-gap:6px;--dock-zone-gap:4px;max-width:calc(100vw - 20px);border-radius:14px}.dock[data-platform=mobile] .dock-menu{inline-size:min(220px,calc(100vw - 16px))}.dock[data-platform=mobile] .dock-zone:not(:empty)+.dock-zone:not(:empty):before{height:18px}.dock[data-platform=mobile] .dock-entry-menu-trigger{inset-inline-end:3px;inset-block-end:2px}.dock-compact{--_entry-size:36px;--dock-padding-x:6px;--dock-padding-y:5px;--dock-gap:5px;--dock-zone-gap:4px}.dock-wide{--_entry-size:44px;--dock-padding-x:10px;--dock-padding-y:7px}@keyframes dock-menu-enter{0%{opacity:0;transform:translateX(-50%) translateY(6px) scale(.97)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}@media (max-width:1024px){:root{--dock-bottom:10px}}@media (max-width:768px){:root{--dock-bottom:8px}.dock-layer{padding:0 8px calc(var(--dock-bottom) + var(--dock-safe-bottom))}}@media (prefers-reduced-motion:reduce){.dock,.dock-entry,.dock-entry-menu-trigger,.dock-menu,.dock-menu-item{transition:none!important;animation:none!important}}